gpt4 book ai didi

java - java中将json对象转换为xml时如何删除数字键

转载 作者:太空宇宙 更新时间:2023-11-04 11:22:09 25 4
gpt4 key购买 nike

我是 JSON 和 XML 新手,我遇到了一个奇怪的问题,几天来我一直在尝试解决这个问题。还没有运气。

有一个 json 对象作为字符串发送到我的程序。现在我需要将给定的字符串转换为 json,然后转换为 XML。我的输出应该是转换后的 XML 的字符串。

我能够将字符串转换为 JSON,然后转换为 XML,没有任何问题。示例代码如下

org.json.JSONObject jsonFileObject = new org.json.JSONObject(json);
String xml = "<?xml version=\"1.0\" encoding=\"ISO-8859-15\"?>\n<"+root+">"
+ org.json.XML.toString(jsonFileObject) + "</"+root+">";

但问题是 json 对象中很少有数字键,我们需要删除这些键。

示例 JSON

{
"product": {
"p1": true,
"test": {
"1000": [
{
"name": "name1",
"id": "id1"
}
],
"2100": [
{
"name": "name2",
"id": "id2"
}
],
"3200": [
{
"name": "name3",
"id": "id3"
}
],
"8340": [
{
"name": "name4",
"id": "id4"
}
],
"6200": [
{
"name": "name5",
"id": "id5"
}
]
},
"p2": "p2 test"
}
}

在上述情况下,我的输出应该是

<test/>

此处的名称和 ID 并不总是可用。有时它们也可能是空的。

有人可以帮我解决这个问题吗?

最佳答案

首先,看起来您的 JSON 解析得不太好。我建议先使用 PARSE 命令

var json = '{"test": [{"1000": [{"name": "name1", "id": "id1" }  ], "2100": [ { "name": "name2", "id": "id2" }] }]}';

var jsonFileObject = JSON.parse(json);

如果你可以解析它,那么作为一个对象就可以很容易地操作它。例如,您可以循环遍历所有元素并删除、更改或执行任何操作,然后将其转换为 XML。查看此引用:Filtering json object by key value

关于java - java中将json对象转换为xml时如何删除数字键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44781394/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com