简体   繁体   English

在没有Jackson的情况下将JSON数组中的密钥获取到列表中

[英]Get the keys from JSON Array into a list without Jackson

I have an service that returns me an json object like the below 我有一项服务,可向我返回如下所示的json对象

{
  "header": {},
  "title": {},
  "terms": {
     "data": {
        "list": [
          "string": 1,
          "string1": 2,
          "string2": 3
                ]
              }
           }
}

Now I need to get the keys of the list json array into a list. 现在,我需要将列表json数组的键放入列表中。 I have got the array into an object 我已经将数组放入对象

    List<String> allTerms = new ArrayList<String>();
    String response = HttpRequest.get("http://myservice/get").body();
    JSONParser parser = new JSONParser();
    Object obj = parser.parse(response);
    JSONObject jsonObject = (JSONObject) obj;

    JSONObject fieldObj = (JSONObject)jsonObject.get("terms");
    JSONObject queryObj = (JSONObject)fieldObj.get("data");
    JSONArray termsArr = (JSONArray) queryObj.get("list");
    //iterate the termsarr and get the string,string1,string2 keys alone to allTerms list

Is there a more better way to do this? 还有更好的方法吗? Im using json-simple and a custom http client 我正在使用json-simple自定义http客户端

By using basic for loop 通过使用基本的for循环

for(int i=0; i<termsArr.length(); i++) {

     String[] arr = termsArr.getString(i).split("\"");
     allTerms.add(arr[1]);
    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM