Java tojson,Java中json-lib的各种数据转换,及对象转换
2017-10-23 14:11
656 查看
JSON
是目前流行的交换数据格式,经常有童鞋问我, json-lib
怎么操作 JSON
, jackson
怎么操作 JSON
, Goson
怎么操作 JSON
等等,本篇介绍 json-lib
的各种操作。
其他的 JSON
信息都在这里:http://www.sojson.com/tag_json.html
json-lib
的jar包引入:http://www.sojson.com/blog/101
1、自定义Java Bean 转JSON对象。
这里是一个普通的自定义的 Java
Bean 对象转换。
是目前流行的交换数据格式,经常有童鞋问我, json-lib
怎么操作 JSON
, jackson
怎么操作 JSON
, Goson
怎么操作 JSON
等等,本篇介绍 json-lib
的各种操作。
其他的 JSON
信息都在这里:http://www.sojson.com/tag_json.html
json-lib
的jar包引入:http://www.sojson.com/blog/101
一、json-lib的JSON和JavaBean的相互转换。
1、自定义Java Bean 转JSON对象。
/**
* JSON-Lib 对象转JSON
*/
@Test
public void entity2json() {
//构建一个对象
JSONModel model = new JSONModel();
model.setAge(10);
model.setName("张三");
model.setDomain("http://www.sojson.com");
//对象转JSON
JSONObject json = JSONObject.fromObject(model);
//转成String
String jsonStr = json.toString();
System.out.printf("json-lib,对象转JSON:%s",jsonStr);
//json-lib,对象转JSON:{"age":10,"domain":"http://www.sojson.com","name":"张三"}
}
这里是一个普通的自定义的 Java
Bean 对象转换。
2、JSON字符串转成Java Bean 对象。
/**
* JSON-Lib JSON转对象
*/
@Test
public void json2entity() {
/*
* 刚刚的字符串
* {"age":10,"domain":"http://www.sojson.com","name":"张三"}
* 但是我们要转义双引号,可以用网址 http://www.sojson.com/yasuo.html[/code]*/String jsonStr = "{\"age\":10,\"domain\":\"http://www.sojson.com\",\"name\":\"张三\"}";//JSON字符串转JSON对象JSONObject json = JSONObject.fromObject(jsonStr);//JSON对象 转 JSONModel对象JSONModel model = (JSONModel) JSONObject.toBean(json, JSONModel.class);//转成String 方便输出System.out.printf("json-lib,JSON转对象:%s",JSONObject.fromObject(model).toString());//json-lib,JSON转对象:{"age":10,"domain":"http://www.sojson.com","name":"张三"}}二、json-lib的JSON和Map的相互转换。
1、Map转JSON。
/*** Map 转 JSON*/@Testpublic void map2json(){Map map = new HashMap();map.put("age",10 );map.put("name","张三");map.put("domain","http://www.sojson.com");//对象转JSONJSONObject json = JSONObject.fromObject(map);//转成StringString jsonStr = json.toString();System.out.printf("json-lib,Map转JSON:%s",jsonStr);//json-lib,Map转JSON:{"age":10,"domain":"http://www.sojson.com","name":"张三"}}2、JSON转Map
/*** JSON-Lib JSON转Map*/@Testpublic void json2map() {/** 刚刚的字符串* {"age":10,"domain":"http://www.sojson.com","name":"张三"}* 但是我们要转义双引号,可以用网址 http://www.sojson.com/yasuo.html[/code]*/String jsonStr = "{\"age\":10,\"domain\":\"http://www.sojson.com\",\"name\":\"张三\"}";//JSON字符串转JSON对象JSONObject json = JSONObject.fromObject(jsonStr);//JSON对象 转 JSONModel对象Map model = (Map) JSONObject.toBean(json, Map.class);//转成String 方便输出System.out.printf("json-lib,JSON转Map:%s",JSONObject.fromObject(model).toString());//json-lib,JSON转Map:{"name":"张三","age":10,"domain":"http://www.sojson.com"}}三、json-lib的JSONArray和List的相互转换。
1.List转JSONArray。
/*** JSON-Lib List转JSONArray*/@Testpublic void list2JSONArray() {//创建一个ListList list = new ArrayList();JSONModel model = new JSONModel();model.setAge(10);model.setName("张三");model.setDomain("http://www.sojson.com");list.add(model);model = new JSONModel();model.setAge(25);model.setName("李四");model.setDomain("http://ping.sojson.com");list.add(model);//List 转 JSONArrayJSONArray jsonArray = JSONArray.fromObject(list);//JSONArray 转 StringString jsonArrayStr = jsonArray.toString();//输出System.out.printf("JSON-Lib List转JSONArray:%s",jsonArrayStr);//JSON-Lib List转JSONArray:/*[{"age": 10,"domain": "http://www.sojson.com","name": "张三"},{"age": 25,"domain": "http://ping.sojson.com","name": "李四"}]*/}2.JSONArray转List。
/*** JSON-Lib JSONArray转List*/@SuppressWarnings("unchecked")@Testpublic void jsonArray2List(){//刚刚的JSON字符串//[{"age":10,"domain":"http://www.sojson.com","name":"张三"},{"age":25,"domain":"http://ping.sojson.com","name":"李四"}]String jsonArrayStr = "[{\"age\":10,\"domain\":\"http://www.sojson.com\",\"name\":\"张三\"},{\"age\":25,\"domain\":\"http://ping.sojson.com\",\"name\":\"李四\"}]";//json字符串转成JSONArrayJSONArray jsonArray = JSONArray.fromObject(jsonArrayStr);//JSONArray 转 ListList list = JSONArray.toList(jsonArray, JSONModel.class);//输出System.out.printf("JSON-Lib JSONArray转List:\n%s",JSONArray.fromObject(list).toString());/*JSON-Lib JSONArray转List:[{"age":10,"domain":"http://www.sojson.com","name":"张三"},{"age":25,"domain":"http://ping.sojson.com","name":"李四"}]*/}
这里有一个注意的地方,就是JSONArray.toList()这个方法是过期的。但是不影响使用。
json-lib
介绍到这里就完毕了。然后下面有附件是json-lib的Jar包。
相关文章推荐
- Json字符串转换为java对象的各种实现方法【json_lib框架、Gson、org.json】
- Json字符串转换为java对象的各种实现方法【json_lib框架、Gson、org.json】
- java对象和json数据转换实现方式1-使用json-lib实现
- Android开发-进阶:Json字符串转换为java对象的各种实现方法[json_lib框架、Gson、org.json]
- Json字符串转换为java对象的各种实现方法【json_lib框架、Gson、org.json】
- java对象和json数据转换实现方式1-使用json-lib实现
- Json字符串转换为java对象的各种实现方法【json_lib框架、Gson、org.json】
- JSON数据转换为Java对象
- java对象转换成json数据
- 基于json-lib.jar包的java转换为 json对象
- 使用Java 语言可以方便的把任意对象转换成json格式的数据
- java对象转换成为json数据
- java对象转换成为json数据
- Json-lib实现json,java对象,xml之间相互转换 .
- 使用JSON-LIB转换JAVA对象
- Json-lib 实现 json,java 对象,xml 之间相互转换
- android/java中把对象、对象bean、Collection以及字符串转换成Json格式数据
- Json-lib, 实现Java对象与JSON数据格式的互转
- java 各种类型数据,集合对象封装 成json
- java 各种类型数据,集合对象封装 成json