JSONObject--- JSON---与bean对象的转换
1.可能用到的jar宝:
- json-lib时间有些久远,jar包只更新到2010年。
- org.json用起来有些繁琐。
- Jackson、Gson、FastJson只需一两句话就可以搞定。
net.sf.json-lib json-lib 2.4 jdk15 com.alibaba fastjson 1.2.47 >
>org.json</groupId>
>json</artifactId>
>20170516</version>
</dependency>>
>com.fasterxml.jackson.core</groupId>
>jackson-databind</artifactId>
>2.9.0</version>
</dependency>
2.1.使用net.sf.json *下的类(JAR包是JSON-LIB-jar):
//1.列表集合转换成json代码
List list = new ArrayList();
list.add(“first”);
list.add(“second”);
JSONArray jsonArray2 = JSONArray.fromObject(list);
//2. Map集合转换成json代码
Map map = new HashMap();
map.put(“name”,“json”);
map.put(“bool”,Boolean.TRUE);
map.put(“int”,new Integer(1));
map.put(“arr”,new String [] {“a”,“b”});
JSONObject json = JSONObject.fromObject(map);
//3. Bean转换成json代码
JSONObject jsonObject = JSONObject.fromObject(new JsonBean());
//4.数组转换成json代码
boolean [] boolArray = new boolean [] {true,false,true};
JSONArray jsonArray1 = JSONArray.fromObject(boolArray);
//5.一般数据转换成json代码
JSONArray jsonArray3 = JSONArray.fromObject(“['json','is','easy']”);
本文实例总结了Java实现Json字符串与Object对象相互转换的方式。分享给大家供大家参考,具体如下:
- Json-Lib、Org.Json、Jackson、Gson、FastJson五种方式转换json类型
只列举了最省事的方式。不涉及复制情况和速度。
测试用例,一个User类,属性name,age,location。重写toString()。
public class User {
private String name;
private Integer age;
private String location;
}
FastJson
maven依赖:
>
>com.alibaba</groupId>
>fastjson</artifactId>
>1.2.37</version>
</dependency>
测试demo:
import com.alibaba.fastjson.JSON;
public class FastJsonDemo {
public static void main(String[] args) {
//创建测试object
User user = new User("李宁",24,"北京");
System.out.println(user);
//转成json字符串
String json = JSON.toJSON(user).toString();
System.out.println(json);
//json字符串转成对象
User user1 = JSON.parseObject(json,User.class);
System.out.println(user1);
}
}