java json和对象互转
开发过程中遇到一些对象转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和对象互转的更多相关文章
- java json和对象互相装换
java json和对象互相装换 1.com.alibaba.fastjson.JSON 2.com.fasterxml.jackson.databind.ObjectMapper
- java json与对象或者集合互转
package open_exe; public class User { private int id; private String name; private String gender; pu ...
- Java中net.sf.json包关于JSON与对象互转的问题
在Web开发过程中离不开数据的交互,这就需要规定交互数据的相关格式,以便数据在客户端与服务器之间进行传递.数据的格式通常有2种:1.xml:2.JSON.通常来说都是使用JSON来传递数据.本文正是介 ...
- Java中net.sf.json包关于JSON与对象互转的坑
在Web开发过程中离不开数据的交互,这就需要规定交互数据的相关格式,以便数据在客户端与服务器之间进行传递.数据的格式通常有2种:1.xml:2.JSON.通常来说都是使用JSON来传递数据.本文正是介 ...
- JS中,JSON 和 对象互转,数组和字符串的转换?
JSON 与 J对象转化 要实现从对象转换为 JSON 字符串,使用 JSON.stringify() 方法: 如下: var json = JSON.stringify({a: 'Hello', b ...
- json 字符串 对象 互转
json对象,json字符串,不注意的话,很容易忽视混淆.例举几个容易混的情况 1,php将变量放到input框中,通过js去读取出来的是json字符串,要想使用就要将json字段串转成json对象 ...
- org.json里实现XML和JSON之间对象互转
org.json包里有一个类org.json.XML可以实现XML和JSON之间的转换.http://www.json.org/javadoc/org/json/XML.html JSONObject ...
- Json与Java对象互转之Gson学习
Json与Java对象互转之Gson学习 请尊重他人的劳动成果.转载请注明出处:Json与Java对象互转之Gson学习 我曾在<XML,Object,Json转换之浅析Xstr ...
- json字符串与java对象互转
在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量,JSON在这方面则做的很好, ...
随机推荐
- URLEncoder.encode问题
遇到java里的URLEncoder.encode方法编码后与javascript的encodeURIComponent方法的结果有点不一样,找了一下资料,原来URLEncoder实现的是HTML形式 ...
- 队列同步器AbstractQueuedSynchronizer
AQS是用来构建锁或者其它同步组件的基础框架,它使用一个int变量来表示同步状态,通过内置的FIFO队列来完成获取线程的排队工作,concurrent包的作者Doug Lea期望它能称为实现大部分同步 ...
- 一个不错的架构图:基于SpringCloud的微服务项目
https://github.com/hanlin5566/HJ-MicroService
- 上下文(Context)和作用域(Scope)
函数的每次调用都有与之紧密相关的作用域和上下文.从根本上来说,作用域是基于函数的,而上下文是基于对象的. 换句话说,作用域涉及到所被调用函数中的变量访问,并且不同的调用场景是不一样的.上下文始终是th ...
- JS数组遍历方法
常用数组遍历方法: 1.原始for循环 var a = [1,2,3]; for(var i=0;i<a.length;i++){ console.log(a[i]); //结果依次为1,2,3 ...
- python的传递实参
你经常会发现,向函数传递列表很有用,这种列表包含的可能是名字.数字或更复杂的对象(如字典).将列表传递给函数后,函数就能直接访问其内容 1.在函数中修改列表 将列表传递给函数后,函数就可对其进行修改. ...
- ATL模板库中的OLEDB与ADO
上次将OLEDB的所有内容基本上都说完了,从之前的示例上来看OLEDB中有许多变量的定义,什么结果集对象.session对象.命令对象,还有各种缓冲等等,总体上来说直接使用OLEDB写程序很麻烦,用很 ...
- node:fs-extra模块
var fs = require('fs-extra'); //复制 并会覆盖已有文件 fs.copy('./demo/index.html','./demo/index2.html' ,(err) ...
- 使用git版本管理工具
1.(1)正常提交:git add 提交文件 git init //git init之后建立一个.gitignore可以避免node_modules这类文件夹提交 git add . git co ...
- eclipse的应用和整理
1如何在eclipse中获取动态项目的绝对路径 1.鼠标选中项目,右击菜单,选择properties2.出来弹出框,选择resource,location的值就是你想要的项目绝对路径 JSP中获得当前 ...