java - 从xml转换后,如何使用java将方括号添加到json
问题描述
我有以下代码。
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}}]}]
解决方案
您可以将代码更改为:
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}}]}]
推荐阅读
- r - 为什么由 as_adjacency_matrix(g) 生成的无向图矩阵有时会显示 2 而不是 0 或 1 的条目?
- python-3.x - Prometheus pushgateway Counter inc 不正确
- javascript - 是否有正则表达式来匹配无法呈现任何文本的 html 字符串?
- android - 将 Key 添加到 BuildConfig 并在 @header kotlin 中调用它
- c++ - 谷歌测试中的 EXPECT_NO_DEATH()
- php - ajax 文件名作为二进制发送
- webassembly - Wasmer 中的“将其嵌入其他语言”是什么意思?
- java - 为什么我在使用 Retrofit 和 GSON 转换器映射的对象属性上得到空值?
- c# - 提交时的 ASP.NET MVC C# 电子邮件通知
- windows - NTUSER reg 条目不会反映在当前用户中