开发过程中遇到一些对象转string和string转对象的问题,浪费了很久,现在用的熟练些了,总结如下:

1.字符串尽量定义成json可解析的,如{"name":"a","param":"b"},而不是{"a":"b"}

2.用到开源项目:fastjson

需要引入:

<dependency>

<groupId>com.alibaba</groupId>

<artifactId>fastjson</artifactId>

<version>1.2.23</version>

</dependency>

import com.alibaba.fastjson.JSON;

使用方法:

1.string转对象:

string:str=

[{
"name": "HBaseService:v1",
"clusters": [{
"name": "5u",
"params": {
"zk": "xxx.xxx.xxx.xxx",
"port": "2180"
},
"methods": [{
"name": "sayhello",
"permission": true,
"qps": 188
}, {
"name": "sayhello",
"permission": true,
"qps": 188
}, {
"name": "sayhello",
"permission": true,
"qps": 188
}]
}, {
"name": "6u",
"params": {
"name": "zk",
"value": "xxxx:2180"
},
"methods": [{
"name": "sayhello",
"permission": true,
"qps": 188
}, {
"name": "sayhello",
"permission": true,
"qps": 188
}, {
"name": "sayhello",
"permission": true,
"qps": 188
}]
}]
}]
转对象,先定义成几个类:
1.
clusterinfo 其中包含变量name, params, List<MethodInfo>
2.methodInfo 其中包含变量name,permission,qps等 转对象:

JSONArray jsonArray = JSON.parseArray(str);

String new_str = jsonArray.get(i).toString();

logger.info("new_str:" + new_str);

ServiceInfo serviceInfo = JSON.parseObject(new_str, ServiceInfo.class);//转对象

2.对象转json:

List<ServiceConfigInfo> serviceConfigInfos = new ArrayList<ServiceConfigInfo>();

serviceConfigInfos.add(hbaseServiceImpl.hbaseContent());

JSON.toJSONString(serviceConfigInfos);//转string

好处:解析比较方便

劣处:需要定义多层类结构

 

java json和对象互转的更多相关文章

  1. java json和对象互相装换

    java json和对象互相装换 1.com.alibaba.fastjson.JSON 2.com.fasterxml.jackson.databind.ObjectMapper

  2. java json与对象或者集合互转

    package open_exe; public class User { private int id; private String name; private String gender; pu ...

  3. Java中net.sf.json包关于JSON与对象互转的问题

    在Web开发过程中离不开数据的交互,这就需要规定交互数据的相关格式,以便数据在客户端与服务器之间进行传递.数据的格式通常有2种:1.xml:2.JSON.通常来说都是使用JSON来传递数据.本文正是介 ...

  4. Java中net.sf.json包关于JSON与对象互转的坑

    在Web开发过程中离不开数据的交互,这就需要规定交互数据的相关格式,以便数据在客户端与服务器之间进行传递.数据的格式通常有2种:1.xml:2.JSON.通常来说都是使用JSON来传递数据.本文正是介 ...

  5. JS中,JSON 和 对象互转,数组和字符串的转换?

    JSON 与 J对象转化 要实现从对象转换为 JSON 字符串,使用 JSON.stringify() 方法: 如下: var json = JSON.stringify({a: 'Hello', b ...

  6. json 字符串 对象 互转

    json对象,json字符串,不注意的话,很容易忽视混淆.例举几个容易混的情况 1,php将变量放到input框中,通过js去读取出来的是json字符串,要想使用就要将json字段串转成json对象 ...

  7. org.json里实现XML和JSON之间对象互转

    org.json包里有一个类org.json.XML可以实现XML和JSON之间的转换.http://www.json.org/javadoc/org/json/XML.html JSONObject ...

  8. Json与Java对象互转之Gson学习

    Json与Java对象互转之Gson学习 请尊重他人的劳动成果.转载请注明出处:Json与Java对象互转之Gson学习         我曾在<XML,Object,Json转换之浅析Xstr ...

  9. json字符串与java对象互转

    在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量,JSON在这方面则做的很好, ...

随机推荐

  1. Ubuntu安装Docker步骤

    环境:Ubuntu Trusty 14.04 (LTS) 前提条件: Docker requires a 64-bit installation regardless of your Ubuntu v ...

  2. H5禁止页面滑动/滚动

    禁止页面滚动--完美解决方案,滚动条显示与否,手持设备兼容与否 禁止页面滚动 有三种方法 1,依靠css 将页面 document.documentElement.style.overflow='hi ...

  3. Jquery实现自动生成二级目录

    在博客园开通博客以后,就看到某位博友写的js自动生成目录的文章,当时觉得生成目录能给阅读带来方便,所以就直接拿来使用了.用了一段时间以后,发现只能生成一级目录,不能生成多级目录,有点美中不足.所以想着 ...

  4. Java transient和volatile关键字

    关键字Volatile Volatile修饰的成员变量在每次被线程访问时,都强迫从主内存中重读该成员变量的值.而且,当成员变量发生变化时,强迫线程将变化值回写到主内存.这样在任何时刻,两个不同的线程总 ...

  5. 首页的css

    html,body{ margin:; padding:; background-color: lavenderblush; } a{ color:darkgray; } li{ list-style ...

  6. angular2-动画

    使用动画: import { Component, Input } from '@angular/core'; import { trigger, state, style, animate, tra ...

  7. CSS深入理解学习笔记之border

    1.border-width border-width为何不支持百分比:语义和使用场景决定的,现实中各种边框本身的概念就不存在百分比的使用方法. border-width支持关键字:thin.medi ...

  8. FragmentActivity的简单使用

    如图是效果图 当  点击下面 不同 的按钮 进入 不同的界面 其中 要一个 主布局当做容器 , 和3个不同的 布局来对应下面的3个按钮界面 主程序的 代码和布局如下 import android.su ...

  9. Django初步(一):安装和简单演示

    参考:Windows下安装Django:http://www.th7.cn/Program/Python/201305/136301.shtml

  10. MySQL中AddDate函数的疑惑

    无论使用哪一种RDBMS,都需要使用到其中的一些日期转换函数,在使用MySQL的AddDate函数时,遇到了点小问题,稍作记录. root@localhost:mysql3376.sock [(non ...