我有以下代码。
import org.json.JSONObject;
import org.json.XML;
public class Xml2Json {
public static void main(String[] args) {
String xmlString = "<users><user name=test1 age=20></user><report sub=eng score=30></report></users>";
JSONObject jsonObject = XML.toJSONObject(xmlString);
System.out.println(jsonObject);
}}
它产生以下输出:
{"users":{"report":{"sub":"eng","score":30},"user":{"name":"test1","age":20}}}
但是我真正需要的是用方括号仅包含一些标记/元素,因为您可以在JSON下方查看预期的输出:
[{"users":[{"report":[{"sub":"eng","score":30}],"user":{"name":"test1","age":20}}]}]
答案 0 :(得分:1)
您可以将代码更改为:
import org.json.JSONArray;
import org.json.JSONObject;
import org.json.XML;
public class XmlToJson {
public static void main(String[] args) {
String xmlString = "<users><user name=test1 age=20></user><report sub=eng score=30></report></users>";
JSONObject jsonObject = XML.toJSONObject(xmlString);
jsonObject.getJSONObject("users").put("report",new JSONArray().put(jsonObject.getJSONObject("users").getJSONObject("report")));
jsonObject.put("users",new JSONArray().put(jsonObject.getJSONObject("users")));
JSONArray jsonArray = new JSONArray().put(jsonObject);
System.out.println(jsonArray);
}
}
输出:
[{"users":[{"report":[{"sub":"eng","score":30}],"user":{"name":"test1","age":20}}]}]