【问题标题】:Display all the contents retrieved from a json response显示从 json 响应中检索到的所有内容
【发布时间】:2017-04-21 17:54:24
【问题描述】:

我有使用 JSON 响应的端点。我可以在 JSON 端点调用数组的长度属性的长度数。这是我用来消费 JSON 响应的代码的 sn-p:

restTemplate.getMessageConverters().add(new StringHttpMessageConverter());
Data[] response = restTemplate.getForObject("url",  Data[].class);

Integer response2 = response.length;

for(int i=0; i < response.length; i++)
{
    //retrieve all the contents of the json response here
}

已编辑:

就是这个格式

[{"id":1,"state_data":"hi","state_data":"hi",
"state_data":"hi","state_data":"hi","state_data":"hi",
"state_data":"hi","state_data":"hi","state_data":"hi",
"state_data":"hi","state_data":"hi","state_data":"hi",
"state_data":"hi","state_data":"hi","state_data":"hi",
"state_data":"hi","state_data":"hi","state_data":"hi",
"state_data":"hi","state_data":"hi","state_data":"hi",
"state_data":"hi","state_data":"hi","state_data":"hi",
"state_data":"hi","state_data":"hi","state_data":"hi",
"state_data":"hi","state_data":"hi","state_data":"hi"},

我的挑战是如何将 JSON 数组中的所有内容作为字段检索。感谢您的帮助。

【问题讨论】:

    标签: java json spring rest


    【解决方案1】:

    Errr,根据呈现的代码量判断,您希望像这样遍历数组:

    for(int i=0; i < response.length; i++)
    {
      System.out.println(response[i]) // prints the toString of a Data object. 
    }
    

    【讨论】:

      【解决方案2】:

      这在很大程度上取决于 JSON 响应中的内容,这里是一个示例。

      如果这是您得到的响应:

      {"result": [ {"key":"value1"}, {"key":"value2"} ] }
      

      下面的代码将打印出 value1, value2。

      JSONObject jsonObj = new JSONObject(response.getBody());
      
      JSONArray result = jsonObj.getJSONArray("result");
      
      for(int n = 0; n < result.length(); n++) {
          JSONObject item = result.getJSONObject(n);
          System.out.println(item.getString("key"));
      }
      

      【讨论】:

      • jsonobject 不是一个类
      • @parker 你能发布你试图解析的 JSON 响应吗?上面我的代码 sn-p 中的 JSONObject jsonObj 引用是从 JSON 响应创建的 JSON 对象,知道您收到的 JSON 响应将阐明如何解析它(以检索键值对)。
      • @parker 你能发布 JSON 响应(你试图解析的输入)吗?
      • @parker 这看起来不像是一个有效的 json 对象(键“state_data”在同一个 json 对象中是重复的)。
      猜你喜欢
      • 1970-01-01
      • 2016-11-04
      • 1970-01-01
      • 2019-03-20
      • 1970-01-01
      • 1970-01-01
      • 2015-02-06
      • 2021-08-31
      • 2019-05-13
      相关资源
      最近更新 更多