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

时间:2019-04-10 19:58:00

标签: java arrays json

我有一个向我返回如下json对象的服务

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

现在我需要将列表json数组的键放入列表中。我已经将数组放入对象中

    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

还有更好的方法吗?我正在使用json-simplea custom http client

1 个答案:

答案 0 :(得分:0)

通过使用基本的for循环

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

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