如何处理 JsonObject 以拥有对象

How to handle JsonObject to own Object

现在我像这样从 API 中获取 JsonObject:
它的 XML 对象转换为 JsonObject。

"Details": {
                        "row": [
                            {
                                "item": [
                                    {
                                        "name": "Account",
                                        "value": 12521512
                                    },
                                    {
                                        "name": "ACCNO",
                                        "value": 4214
                                    },
                                    {
                                        "name": "Number",
                                        "value": 5436
                                    }
    ]
    },
    "item": [
                                    {
                                        "name": "Account",
                                        "value": 5789678
                                    },
                                    {
                                        "name": "ACCNO",
                                        "value": 6654
                                    },
                                    {
                                        "name": "Number",
                                        "value": 0675
                                    }
    ]
    },

但我需要转换这个对象并像这样发送:

 {
  "Details": {
    "row": [
      {
        "Account": 12521512,
        "ACCNO": 4214,
        "Number": 12412421
      },
      {
        "Account": 5789678,
        "ACCNO": 6654,
        "Number": "0675"
      }
    ]
  }
}

我有超过 1000 行,我需要更快的处理方式。 怎么处理,求助

您可以使用 JSON-java 库来解析您的输入并将其转换为您想要的格式。类似这样的东西可行,但您可能需要根据需要进行调整:

JSONObject jsonObject = new JSONObject(json); // Load your json here
JSONObject result = new JSONObject("{\"Details\": {\"row\": []}}");
for (Object row : jsonObject.getJSONObject("Details").getJSONArray("row")) {
    if (!(row instanceof JSONObject)) continue;
    Map<Object, Object> values = new HashMap<>();
    for (Object item : ((JSONObject) row).getJSONArray("item")) {
        if (!(item instanceof JSONObject)) continue;
        values.put(((JSONObject) item).get("name"), ((JSONObject) item).get("value"));
    }
    result.getJSONObject("Details").getJSONArray("row").put(values);
}

// Now result is in your format