com.alibaba.fastjson.JSONObject转换

json转换

注:以下全用的是com.alibaba.fastjson
1.实体转String转json

User user = new User();
user.age(18);
user,name("张三");
//实体转String
String json = JSON.toJSONString(result);
//String跨项目传参的时候会出现/,JSONObject则能避免此类问题
//String转JSONObject
JSONObject jsonObject = JSONObject.parseObject(json);

2.取出json数据

String json;//假设里面的是json数据
JSONObject jsonObject = JSONObject.parseObject(json);
普通json
//直接jsonObject.对应的类型
String name = jsonObject1.getString("name");
//复杂json
 JSONObject jsonObject1 = jsonObject.getJSONObject("对应字段");
 如下json:
 
{
  "status": "polling",
  "billstatus": "got",
  "message": "",
  "autoCheck": "1",
  "comOld": "yuantong",
  "comNew": "ems",
  "lastResult": {
    "message": "ok",
    "state": "0",
    "status": "200",
    "condition": "F00",
    "ischeck": "0",
    "com": "yuantong",
    "nu": "V030344422",
    "data": [{
      "context": "上海分拨中心/装件入车扫描",
      "time": "2012-08-2816: 33: 19",
      "ftime": "2012-08-2816: 33: 19",
      "status": "在途",
      "areaCode": "310000000000",
      "areaName": "上海市"

    },
      {
        "context": "上海分拨中心/下车扫描",
        "time": "2012-08-2723: 22: 42",
        "ftime": "2012-08-2723: 22: 42",
        "status": "在途",
        "areaCode": "310000000000",
        "areaName": "上海市"

      }
    ]
  },
  "destResult": {
    "message": "ok",
    "state": "0",
    "status": "200",
    "condition": "F00",
    "ischeck": "0",
    "com": "speedpost",
    "nu": "EX015142583SG",
    "data": [{
      "context": "[01000]Final delivery Delivered to: SLOVESNOV",
      "time": "2016-05-24 14:00:00",
      "ftime": "2016-05-24 14:00:00",
      "status": "签收",
      "areaCode": null,
      "areaName": null

    }]
  }
}
 //获取到lastResult
 JSONObject jsonObject1 = jsonObject.getJSONObject("lastResult");
 //获取响应字段
 String message = jsonObject1.getString("message");
 //获取里面的data
 String jsons = jsonObject.getString("data");
 //data可能是多条
 JSONArray jsonArray = JSONArray.parseArray(jsons);
   for (int i = 0; i < jsonArray.size(); i++) {
         JSONObject json = jsonArray.getJSONObject(i);
          String context = json.getString("context");
          /**json传Date格式的时候会报错,先用时间转化,在用SimpleDateFormat sdf1 = new 					SimpleDateFormat("yyyy-MM-dd HH:mm:ss")格式化日期;*/
          String ftime = json.getString("ftime");
          String areaCode =json.getString("areaCode");
          String status = json.getString("status");
         }

3.json转实体

String json = json数据;
//st的数据对应json体的内容
实体类 st = JSONObject.parseObject(json, 实体.class);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值