java - Java - XML 到 JSON 的转换(org.json.JSONException: Mismatched meta and head at character 573)
问题描述
我正在尝试将我的 API 的响应(即 XML)转换为 JSON 字符串。但它抛出以下错误:
org.json.JSONException: 元数据不匹配,头部位于字符 573
Java 代码
final String API_URI = "https://221.120.211.69:443/abl-api/uat/ApiConnectFTwsdlDefinitionHttpService";
final ClientConfig config = new DefaultClientConfig();
final Client client = Client.create(config);
final WebResource resource = client.resource(API_URI);
MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
queryParams.add("SystemName", "CDC");
queryParams.add("RequestID", "222");
queryParams.add("TenantID", "abc11323===+");
queryParams.add("CreditAccount", "0010000108290010");
queryParams.add("DebitAmount", "100");
queryParams.add("MappingID", "Remarks");
queryParams.add("Narration", "remarks");
WebResource webResource = client.resource(API_URI);
JSONObject requestObj = new JSONObject();
requestObj.put("SystemName", "CDC");
requestObj.put("RequestID", "222");
requestObj.put("TenantID", "abc11323===+");
requestObj.put("CreditAccount", "0010000108290010");
requestObj.put("DebitAmount", "100");
requestObj.put("MappingID", "Remarks");
requestObj.put("Narration", "remarks");
ClientResponse responseMsg = webResource
.queryParams(queryParams)
.header("Content-Type", "application/json;charset=UTF-8")
.header("SOAPAction", "http://ApiConnectFTwsdlDefinition/FundsTransfer")
.header("X-IBM-Client-Id", "0146b9a4-7e99-4c83-8e9e-6049cfec55da")
.header("Authorization", "Bearer "+ "AAIkMDE0NmI5YTQtN2U5OS00YzgzLThlOWUtNjA0OWNmZWM1NWRh5BUqmbzniU-ky5TE1-NI9I4IwXqdU8_EEzAEe6QVdclRLwQlVxuO03e3xAVKKOc3xstoep8xbkjK5t3ffbCRJR6xlcGdoS3nvGmEoMYgbesChrbhrAnu6uVS8g-JRSGWaqwqTf-DRQRBRi6ysKEOOg")
.post(ClientResponse.class, requestObj);
JSONObject xmlJSONObj = XML.toJSONObject(responseMsg.getEntity(String.class));
String jsonPrettyPrintString = xmlJSONObj.toString(4);
//System.out.println(xmlJSONObj.toString());
System.out.println(jsonPrettyPrintString);
//System.out.println(responseMsg.getEntity(String.class));
我试图将 XML 更改为字符串和 JSON 实体,并更改了 JSON Pretty 常量,但没有任何改变。
有人可以帮忙吗?
解决方案
好吧,我将我的响应从 String 转换为 Hashmap 并改用密钥。
推荐阅读
- azure - 如何自动更新服务总线队列消息的锁定持续时间
- c++ - std::condition_variable::wait_until 的返回值
- javascript - Fullcalendar 没有水平滚动条
- postgresql - 是否可以在 postgreSQL 的策略中获取查询信息?
- github - 如何根据文件夹匹配有条件地运行 git 操作
- jenkins - 詹金斯:我们可以用用户定义的分支检查子模块吗
- android - 如何显示没有三点android的选项菜单?需要去掉三点菜单并在底部显示选项菜单
- bash - 如何在使用 shell 脚本编写时通过修改将数据从一个文本文件写入另一个文本文件
- javascript - application/dns-message 使用哪种编码?
- python - Python 脚本在 Windows 10 中使用任务调度程序调度另一个 python 脚本,时间间隔增加