gpt4 book ai didi

java - 获取:" when converting Json object to XML in Java

转载 作者:行者123 更新时间:2023-11-30 02:40:37 25 4
gpt4 key购买 nike

我正在尝试将 JsonObject 转换为 XML,但它似乎已被编码。

这是我的 JsonObject -

{
"customerName": "cus1",
"invoiceNumber": "in1",
"invoiceDate": "2017-01-23",
"amount": 110.1,
"invoiceItems": [
{
"chargeName": "null",
"subscriptionName": "TestSub",
"amount": 129,
"servicePeriod": "2017-01-23to 2017-02-23"
},
{
"subscriptionName": "",
"servicePeriod": "",
"chargeDate": "",
"chargeName": "Discounted Amount",
"amount": -12.9
}
]
}

我得到的输出是 -

{"customerName":"cus1;,"invoiceNumber":"in1;,"invoiceDate":"2017-01-23","amount":116.1,"invoiceItems":[{"chargeName":"null","subscriptionName":"TestSubd","amount":129.0,"servicePeriod":"2017-01-23to 2017-02-23"},{"subscriptionName":"","servicePeriod":"","chargeDate":"","chargeName":"Discounted Amount","amount":-12.9}]}"

我期望的输出没有编码<customerName>cus1<customerName>格式。

我用过org.json.XML将 json 对象转换为 xml

  JsonObject invoiceDetailObj = new JsonObject();
invoiceDetailObj.addProperty("customerName", aa.get("customer").asText());

我向invoiceDetailObj 添加了属性,使其当前看起来像我在顶部添加的jsonObj

 xml = XML.toString(invoiceDetailObj);

最佳答案

您的问题与您混合 Google Gson 中的 com.google.gson.JsonObject 相关。与 org.json.JSONObject 。实际上,方法 XML.toString(object) 需要一个 org.json.JSONObjectorg.json.JSONArray 的实例或数组org.json.JSONObject 因此,当未找到这些类型时,您得到的只是此方法的默认行为。

只需重写您的代码以使用 org.json.JSONObject 而不是 com.google.gson.JsonObject,您的代码应如下所示:

JSONObject invoiceDetailObj = new JSONObject();
invoiceDetailObj.put("customerName", "cus1");
invoiceDetailObj.put("invoiceNumber", "in1");
...
String xml = XML.toString(invoiceDetailObj);

或者更好的是,如果您将 JSON 对象作为 String,您可以简单地使用构造函数 JSONObject(String source) 来让它为您解析并构建 JSONObject:

String xml = XML.toString(new JSONObject(myJSONString));

关于java - 获取:&quot; when converting Json object to XML in Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41847126/

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