json转换,对象转json字符串或json字符串转对象

采用两种方式json对象的转换 
com.alibaba
net.sf.json-lib
 
依赖的maven
<dependency>
   <groupId>com.alibaba</groupId>
   <artifactId>fastjson</artifactId>
   <version>1.2.24</version>
</dependency>

<dependency>
   <groupId>net.sf.json-lib</groupId>
   <artifactId>json-lib</artifactId>
   <version>2.4</version>
   <classifier>jdk15</classifier>
</dependency>

 
 
String json = "{\"name\":\"lil\",\"age\":\"12\",\"address\":'北京',\"obj\":{\"phone\":123131,\"dd\":\"hh\"}}";

//net.sf.json方式解析json字符串
JSONObject jsonObject = JSONObject.fromObject(json);
//直接获取对象name属性
String value = jsonObject.getString("name");
 //jsonObject中的对象调用对象中的属性 如:json字符串对象中包含obj对象
 jsonObject.getJSONObject("obj").get("phone");

//com.alibaba方式解析json字符串
com.alibaba.fastjson.JSONObject object = com.alibaba.fastjson.JSONObject.parseObject(json);
object.getJSONObject("obj").getString("phone");
value = object.getString("age");


//将对象转换为json字符串
Person person = new Person();
person.setName("lis");
person.setAge(13);
person.setAddress("beijing");
String perStr = com.alibaba.fastjson.JSONObject.toJSONString(person);

object = com.alibaba.fastjson.JSONObject.parseObject(perStr);
//获取Person对象中的address属性
value = object.getString("address");

List list = Arrays.asList(1, 2, 3);
int[] arr = new int[]{3,2,12};
//Class<T>指定返回的类型
List neList = com.alibaba.fastjson.JSONObject.parseObject(com.alibaba.fastjson.JSONObject.toJSONString(list), List.class);
//首先将对象转换为字符串 JSONObject.toJSONString
List<Integer> neArr = (List<Integer>)com.alibaba.fastjson.JSONObject.parseArray(com.alibaba.fastjson.JSONObject.toJSONString(arr),Integer.class);
 
                                                                                            
                                                                                                    
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值