使用org.json从jml将jsonelement转换为json对象中的json数组

时间:2018-01-31 12:53:53

标签: json org.json

我正在使用org.json使用下面的代码片段将xml转换为json。不幸的是,有一个名为" countries"这应该是一个数组,但有时只能有一个国家。在这种情况下,阵列不会被取消,而是#34;国家"显示在{}而不是[{}]或[]。

        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"
                         }]
                         }}

我该如何解决?

1 个答案:

答案 0 :(得分:1)

我用这个来解决问题,这很好用。我会将其标记为已接受的答案。请让我知道其他明智的事。

   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);
       }