Java解析json报文实例解析

作者:王岳阳 时间:2023-07-18 21:33:58 

这篇文章主要介绍了Java解析json报文实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

json报文如下:


{
"code": 0,
"data": {
 "city": {
  "cityId": 284609,
  "counname": "中国",
  "name": "东城区",
  "pname": "北京市"
 },
 "liveIndex": {
  "2016-09-01": [
   {
    "day": "2016-09-01",
    "desc": "建议用露质面霜打底,水质无油粉底霜,透明粉饼,粉质胭脂。",
    "name": "化妆指数",
    "status": "控油"
   },
   {
    "day": "2016-09-01",
    "desc": "感冒容易发生,少去人群密集的场所有利于降低感冒的几率。",
    "name": "感冒指数",
    "status": "易发"
   },
   {
    "day": "2016-09-01",
    "desc": "洗车后,可保持2天车辆清洁,比较适宜洗车。",
    "name": "洗车指数",
    "status": "较适宜"
   },
   {
    "day": "2016-09-01",
    "desc": "易感人群应适当减少室外活动。",
    "name": "空气污染扩散指数",
    "status": "中"
   },
   {
    "day": "2016-09-01",
    "desc": "天气较热,衣物精干简洁,室内酌情添加空调衫。",
    "name": "穿衣指数",
    "status": "热"
   },
   {
    "day": "2016-09-01",
    "desc": "辐射较弱,涂擦SPF12-15、PA+护肤品。",
    "name": "紫外线指数",
    "status": "弱"
   },
   {
    "day": "2016-09-01",
    "desc": "天气较好,且紫外线辐射不强,适宜户外运动。",
    "name": "运动指数",
    "status": "适宜"
   },
   {
    "day": "2016-09-01",
    "desc": "气压小幅波动,可能会影响鱼儿的进食。",
    "name": "钓鱼指数",
    "status": "较适宜"
   }
  ]
 }
},
"msg": "success",
"rc": {
 "c": 0,
 "p": "success"
}
}

java解析json代码:


public static City getCity(String json){
   JSONObject jsonObject = (JSONObject) JSONObject.parseObject(json)
       .getJSONObject("data")
       .getJSONObject("city");
   City city = new City();
   city.setCityId(Integer.parseInt(String.valueOf(jsonObject.get("cityId"))));
   city.setCityName((String) jsonObject.get("pname"));
   city.setCunName((String)jsonObject.get("counname"));
   city.setDistrictName((String)jsonObject.get("name"));
   return city;
 }

public static List<Life> getLife(String lifeJson){
   List list = new ArrayList();
   JSONObject jsonObject = (JSONObject) JSONObject.parseObject(lifeJson)
       .getJSONObject("data")
       .getJSONObject("liveIndex");
   JSONArray jsonArray = jsonObject.getJSONArray(getFormatDate());
   for(int i = 0; i < 8; i++){
     Life life = new Life();
     life.setDay(new Date());
     life.setDesc(jsonArray.getJSONObject(i).getString("desc"));
     life.setName(jsonArray.getJSONObject(i).getString("name"));
     life.setStatus(jsonArray.getJSONObject(i).getString("status"));
     life.setCity(getCity(lifeJson));
     list.add(life);
   }
   return list;
 }

来源:https://www.cnblogs.com/wszn-java/p/11880978.html

标签:java,解析,json,报文
0
投稿

猜你喜欢

  • Fluent Mybatis让你摆脱Xml文件的技巧

    2023-10-02 18:31:00
  • Hibernate多对一单项关联

    2023-05-10 18:16:11
  • 为什么不要使用 async void的原因分析

    2023-11-24 21:10:27
  • Java 中如何使用 stream 流

    2021-10-09 01:13:37
  • 仿ios状态栏颜色和标题栏颜色一致的实例代码

    2023-08-20 02:17:45
  • C#导出生成excel文件的方法小结(xml,html方式)

    2023-10-03 16:32:26
  • Android中使用Bitmap类将矩形图片转为圆形的方法

    2022-01-04 18:47:40
  • MyBatis实践之DAO与Mapper

    2022-09-28 23:19:32
  • javaSE基础如何通俗的理解javaBean是什么

    2023-09-20 00:34:13
  • c#打包文件解压缩的实例

    2022-07-22 11:20:20
  • Android通过代码控制ListView上下滚动的方法

    2022-06-29 03:07:57
  • SpringCloud远程服务调用实战笔记

    2022-07-13 06:40:19
  • Java算法之最长公共子序列问题(LCS)实例分析

    2022-12-06 08:31:42
  • 你是不是这样写异常处理代码的呢?

    2022-08-08 02:10:10
  • JNDI简介_动力节点Java学院整理

    2023-04-20 03:19:23
  • android获取手机cpu并判断是单核还是多核

    2021-09-28 22:11:24
  • 用AdapterViewFlipper轻松完成图片轮播

    2021-12-08 12:50:47
  • Java8中的 Lambda表达式教程

    2023-10-13 01:32:29
  • Java实现年兽大作战游戏详解

    2023-11-08 04:28:05
  • Android运用BroadcastReceiver实现强制下线

    2021-07-20 19:49:29
  • asp之家 软件编程 m.aspxhome.com