使用javabean解析Json简单嵌套的方法

解析Json格式的数据,一般使用javabean方法。何为javabean,其最小单元如下:

public class PostEntity {
private String title;
private String content;

public String getTitle(){
return title;
}
public String getContent(){
return content;
}

public void setTitle(String title){
this.title = title;
}
public void setContent(String content) {
this.content = content;
}
}
通过上述代码很容易就能看出来了,就是包含get和set方法。通过上述最小单元,解析单一的Json数据是够用了的,但是我们平时接口返回的数据多是嵌套的格式,即键值对中包含键值对,如下:

{
"res_code": 1,
"res_data": {
"waitAccount": 10000,
"mostAccount": 10000
},
"res_msg": "success"
}

解析此类Json的思路应该是先将一个{}中的数据封装在一个class中,如下:

public static class TRes_data{

private Integer waitAccount;
private Integer mostAccount;

public void setWaitAccount(Integer value){
this.waitAccount = value;
}
public Integer getWaitAccount(){
return this.waitAccount;
}

public void setMostAccount(Integer value){
this.mostAccount = value;
}
public Integer getMostAccount(){
return this.mostAccount;
}
}
将该class看作res_data的一个值:
private TRes_data res_data;  /*TRes_data*/
private Integer res_code; /*1*/

public void setRes_data(TRes_data value){
this.res_data = value;
}
public TRes_data getRes_data(){
return this.res_data;
}

public void setRes_code(Integer value){
this.res_code = value;
}
public Integer getRes_code(){
return this.res_code;
}
形式就变成了javabean的最小单元,特殊形式的问题就解决了。

然后就是来解析该Json了,直接上代码:
public static void main(String[] args){
String jason = "[{
    "res_code": 1,
    "res_data": {
    "waitAccount": 10000,
    "mostAccount": 10000
}
}]";

List<InvestDetail> list = JSON.parseArray(jason,InvestDetail.class); //使用的是fastJson
for (InvestDetail detail : list){
System.out.println("Res_code:" + detail.getRes_code() + "LowestAccount:" + detail.getRes_data().getLowestAccount());
}
}

这样就可以顺利解析嵌套在里面的Json值了。

 



转载于:https://www.cnblogs.com/lanroness/p/7354116.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值