使用 org.json 从 xml 将 json 元素转换为 json 对象中的 json 数组

convert jsonelement to json array in a json object from xml using org.json

我正在使用 org.json 使用下面的代码 snippet.Unfotunately 将 xml 转换为 json,有一个名为 "countries" 的结构应该是一个数组,但有时只能有一个国家。在这种情况下,数组不会消失,而是 "countries" 出现在 {} 下,而不是 [{}] 或 [].

        JSONObject xmlJSONObj = XML.toJSONObject(xsltresponse);
        return xmlJSONObj.toString(PRETTY_PRINT_INDENT_FACTOR);

我在 json 转换后得到的输出是:

         {
          "data":{
              "name":"Microsoft",
               "date":"today",
                "countries":{
                      "name:"AN"
                         }}}

而不是低于输出

             {
            "data":{
              "name":"Microsoft",
               "date":"today",
                "countries":[{
                      "name:"AN"
                         }]
                         }}

我该如何解决?

我用它来找到解决方案,效果很好。我会将其标记为已接受的答案。请告诉我其他方式。

   JSONObject xmlJSONObj = XML.toJSONObject(response);
   JSONArray jsonArray = new JSONArray();
  JSONObject data = xmlJSONObj.getJSONObject("data");
  JSONObject objArr = data.optJSONObject("countries");
  if (objArr != null) {
    jsonArray.put(objArr);
    data.putOpt("countries", jsonArray);
       }