java json lib_java操作json数据之net.sf.json-lib

第五步骤:多层实体类处理。

1、实体类:set和get方法自己生成(set和get方法必须有)

public class Person     private String id;    private Person pserson;

}

2、关键测试代码:实体类Person 属性还是Person 时json解析为实体类时一次搞定。

import net.sf.json.JSONObject;

public static void main(String[] args) {

Person p1 = new Person();    p1.setId("111");

Person p2 = new Person();    p2.setId("222");

Person p3 = new Person();    p3.setId("333");

p1.setPserson(p2);

p2.setPserson(p3);

JSONObject jsonp = JSONObject.fromObject(p1);

System.out.println(jsonp);

Object objp = JSONObject.toBean(jsonp,Person.class);

Person p4 = (Person) objp;

Person p5 =  p4.getPserson();

Person p6 =  p5.getPserson();

System.out.println(p6.getId());

}

3、map属性中存放map时比较麻烦需要使用MorphDynaBean 或者get一次解析一次。

public static void main(String[] args) {

Map map1 = new HashMap();

Map map2 = new HashMap();

Map map3 = new HashMap();

map3.put("value","Male");

map2.put("gender",map3);

map1.put("attributes",map2);

JSONObject json = JSONObject.fromObject(map1);

System.out.println(json);

Object obj2 = JSONObject.toBean(json,Map.class);

Map map = (Map) obj2;

MorphDynaBean map4 = (MorphDynaBean) map.get("attributes");

MorphDynaBean map5 = (MorphDynaBean) map4.get("gender");

String male = (String) map5.get("value");

System.out.println(male);

//或者使用get一次解析一次

JSONObject json3 = JSONObject.fromObject(json.get("attributes"));

Map map6 = (Map) JSONObject.toBean(json3,Map.class);

JSONObject json4 = JSONObject.fromObject(json3.get("gender"));

Map map7 = (Map) JSONObject.toBean(json4,Map.class);

System.out.println(map7.get("value"));

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值