Gson解析比较复杂的json数据

就是这种接口传来的数据,数据太杂了,如何选取几个有用的数据单个解析出来??用Gson。麻烦大牛点一下,给下代码更好,感谢。{"showapi_res_code":0,"s... 就是这种接口传来的数据,数据太杂了,如何选取几个有用的数据单个解析出来??用Gson。
麻烦大牛点一下,给下代码更好,感谢。
{
"showapi_res_code": 0,
"showapi_res_error": "",
"showapi_res_body": {
"cityInfo": {
"c2": "lanzhou",
"c3": "兰州",
},
"f1": {
"day": "20150906",
"day_air_temperature": "31",
"day_weather": "晴",
"day_weather_pic":
"night_air_temperature": "19",
"night_weather": "多云",
},
展开
 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏10(财富值+成长值)
spapple2011
推荐于2016-06-14
知道答主
回答量:1
采纳率:0%
帮助的人:2万
展开全部
你先定义类,然后使用Gson的fromJson方法转换成类。
下面是我的代码:
public class showapi_res_body {
private cityInfo cityInfo = new cityInfo();

private f1 f1 = new f1();

@Override
public String toString() {
return "showapi_res_body [cityInfo=" + cityInfo.toString() + ", f1=" + f1.toString() + "]";
}

}

public class day_weather_pic {
private int night_air_temperature = 19;
private String night_weather = "多云";
@Override
public String toString() {
return "day_weather_pic [night_air_temperature=" + night_air_temperature + ", night_weather=" + night_weather
+ "]";
}

}

public class f1 {
private String day="20150906";
private int day_air_temperature=3;
private String day_weather= "晴";
private day_weather_pic day_weather_pic = new day_weather_pic();
@Override
public String toString() {
return "f1 [day=" + day + ", day_air_temperature=" + day_air_temperature + ", day_weather=" + day_weather
+ ", day_weather_pic=" + day_weather_pic.toString() + "]";
}

}

public class cityInfo {

private String c2 ="lanzhou";
private String c3 ="兰州";
@Override
public String toString() {
return "cityInfo [c2=" + c2 + ", c3=" + c3 + "]";
}

}

public class showapi {
private int showapi_res_code = 0;
private String showapi_res_error = "";
private showapi_res_body showapi_res_body = new showapi_res_body();
@Override
public String toString() {
return "showapi [showapi_res_code=" + showapi_res_code + ", showapi_res_error=" + showapi_res_error
+ ", showapi_res_body=" + showapi_res_body.toString() + "]";
}

}

public class test {
public static void main(String[] args) {
showapi anObject = new showapi();

Gson gson = new Gson();
String json = gson.toJson(anObject);
System.out.println(json.toString());

showapi a = gson.fromJson(json, showapi.class);

System.out.println(a.toString());
}
}

运行后输出的日志:

{"showapi_res_code":0,"showapi_res_error":"","showapi_res_body":{"cityInfo":{"c2":"lanzhou","c3":"兰州"},"f1":{"day":"20150906","day_air_temperature":3,"day_weather":"晴","day_weather_pic":{"night_air_temperature":19,"night_weather":"多云"}}}}

showapi [showapi_res_code=0, showapi_res_error=, showapi_res_body=showapi_res_body [cityInfo=cityInfo [c2=lanzhou, c3=兰州], f1=f1 [day=20150906, day_air_temperature=3, day_weather=晴, day_weather_pic=day_weather_pic [night_air_temperature=19, night_weather=多云]]]]
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式