繁体   English   中英

从 xml 转换后,如何使用 java 将方括号添加到 json

[英]How can i add square brackets to json, after converting from xml, using java

我有以下代码。

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

它产生以下 output:

{"users":{"report":{"sub":"eng","score":30},"user":{"name":"test1","age":20}}}

但我真正需要的是方括号中的一些标签/元素,您可以在 JSON 下方查看,如预期的 output:

[{"users":[{"report":[{"sub":"eng","score":30}],"user":{"name":"test1","age":20}}]}]

您可以将代码更改为:

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

Output:

[{"users":[{"report":[{"sub":"eng","score":30}],"user":{"name":"test1","age":20}}]}]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM