使用 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);
}
我正在使用 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);
}