有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

获取Java中的JSON嵌套数组元素

我正在使用org.json查找json对象和值(org.json是一项要求),并试图访问子数组元素

我的json:

{
   "Info": {
     "name": "my_json",
},
   "my_array": {
     "arrays": [
       {
       "array 1": [
         {
           "name": "red",
           "server": "red1",
           "capacity": "123"
         },
        {
           "name": "blue",
           "server": "blue1",
           "capacity": "456"
        }
     ]
   },
   {
      "array 2": [
        {
          "name": "white",
          "server": "white1",
          "capacity": "1234"
        },
        {
          "name": "black",
          "server": "black1",
          "capacity": "4567"
        }
      ]
    }
  ]
 }
}

这将产生:

{"array 1":[
     {"name":"red","capacity":"123","server":"red1"},
     {"capacity":"456","name":"blue","name":"blue1"}
]}
{"array 2":[
     {"capacacity":"1234","name":"white","server":"white1"},
     {"name":"black","capacity":"4567","server":"black1"}
]}
{"array 1":[
     {"name":"red","capacity":"123","server":"red1"},
     {"capacity":"456","name":"blue","name":"blue1"}
]}
{"array 2":[
     {"capacity":"1234","name":"white","server":"white1"},
     {"name":"black","capacity":"4567","server":"black1"}
]}

该方法如下所示:

 public static String processJson(String[] args) throws JSONException {
    String value = "";
    String jsonData = readFile(args[0]);
    JSONObject jobj = new JSONObject(jsonData);
    if (args[1].equals("my_array")) {
        JSONObject parent = jobj.getJSONObject("my_array");
        JSONArray jarr = parent.getJSONArray("arrays");
        for (int i = 0; i < jarr.length(); i++) {
            for (int j = 0; j < jarr.length(); j++) {
                JSONObject test1 = jarr.getJSONObject(j);
                System.out.println(test1);
            }
        }
    }
    return value;
}

我希望返回值为:

[{"name":"red","capacity":"123","server":"red1"
{"capacity":"456","name":"blue","name":"blue1"}]

有可能获得array 1元素吗? 我以为嵌套循环会处理它,但它只在同一时间输出


共 (0) 个答案