复杂的JSON数据解析

这篇博客主要介绍了如何处理复杂的JSON数据,包括数据样式展示,如包含错误码、原因、总数、分页信息及详细数据列表。此外,还提到了解析此类数据时需要导入的相关依赖,并暗示了对restTemplate的运用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.数据样式

{

        "error_code": 0,

         "reason": "SUCCESSED!",

"result": {

          "totalCount": "1086",

          "page": "1",

          "num": "20"

"data": [

{

   "symbol": "xx",

   "name": "xx",

  "trade": "xx",

  "pricechange": "xx",

   "changepercent": "xx",

   "buy": "xx",

  "sell": "xx",

   "settlement": "xx",

  "open": "",

  "high": "",

  "low": "",

  "volume": 38781,

  "amount": 45385925,

  "code": "xx",

   "ticktime": "xx"

}]

}

}

2.导入依赖

<dependency>
   <groupId>net.sf.json-lib</groupId>
   <artifactId>json-lib</artifactId>
   <version>2.4</version>
   <classifier>jdk15</classifier>
</dependency>

3.数据解析

@RequestMapping("/getJSON")
@ResponseBody
public String getJSON(Model model){
    String url ="url";
    //通过restTemplate 来获取json数据
    ResponseEntity<String> results=restTemplate.exchange(url, HttpMethod.GET,null, String.class);
    String json=results.getBody();
   //把数据进行解析
    JSONObject jsonObject =JSONObject.fromObject(json);
    JSONObject result=jsonObject.getJSONObject("result");
    JSONArray jsonArray= result.getJSONArray("data");
    JSONObject data = null;
    for(int i=0;i<jsonArray.size();i++){
       //遍历数组对象
        data =jsonArray.getJSONObject(i);
       //将对象传给前端 
        model.addAttribute("json",data);
        System.out.println("id"+data.get("pricechange")+data.get("changepercent")+data.get("sell"));
    }

    //System.out.println(json);
  //  model.addAllAttributes("json",json);
    return "index";
}

注意:

restTemplate的使用自己查,网上很多。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值