问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何将xml的字符串转换为json

发布网友 发布时间:2022-04-23 21:35

我来回答

1个回答

热心网友 时间:2022-04-06 08:00

放上maven依赖

<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20151123</version>
</dependency>

xml字符串转换为json字符串代码实现如下:

import org.json.JSONException;
import org.json.JSONObject;
import org.json.XML;

public class JsonUtils {
public static String xml2jsonString(String xml)throws JSONException{
JSONObject xmlJSONObj = XML.toJSONObject(xml);
return xmlJSONObj.toString();
}
}

json字符串转换为json对象代码实现如下:

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

JSONObject jsonObject = null;
try{
jsonObject = JSON.parseObject(jsonString);
}catch(Exception e){
logger.error("json串转json对象时发生异常,json串="+jsonString);
throw new RuntimeException("json串转json对象时发生异常,json串="+jsonString,e);
}
return jsonObject;

不过org.json有个问题比较麻烦,xml如下所示:
<?xml version="1.0" encoding="gb2312"?>
<payUnitinfo>
<err_msg></err_msg>
<retcode>1</retcode>
<payUnits>
<payUnit>
<provinceId>v1955</provinceId>
<cityId>v1961</cityId>
<payProjectId>c2680</payProjectId>
<payUnitId>v96564</payUnitId>
<payUnitName>浙江省电费</payUnitName>
</payUnit>
<payUnit>
<provinceId>v1955</provinceId>
<cityId>v1961</cityId>
<payProjectId>c2680</payProjectId>
<payUnitId>v85002</payUnitId>
<payUnitName>国网浙江省电力公司</payUnitName>
</payUnit>
</payUnits>
</payUnitinfo>

当xml中出现多个<payUnit>时,org.json将xml中的<payUnit>转换为json数组格式的字符串,当只有一个<payUnit>时,org.json将xml中的<payUnit>转换为json对象格式的字符串。
假设jsonObject是上述xml转换为json对象后的变量,则通过以下方式获取:

JSONObject payUnitsJsonObject = jsonObject.getJSONObject("payUnitinfo").getJSONObject("payUnits");

JSONObject payUnitJsonObject = null;
JSONArray payUnitJsonArray = null;
Object payUnitObject = payUnitsJsonObject.get("payUnit");
if(payUnitObject instanceof JSONObject){
payUnitJsonObject = (JSONObject)payUnitObject;
}else if(payUnitObject instanceof JSONArray){
payUnitJsonArray = (JSONArray)payUnitObject;
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
vivoz系列所有型号 我和公婆住在一个屋檐下,如何处理矛盾? 和公婆住一起,怎样才能避免矛盾啊? 怎么投诉饿了么平台最有效 6.图中为我国地势第一、二级阶梯分界线的是( )A.四川盆地B.横断山脉C... 为什么运动过后心里会很慌想吃东西? 口述:我频繁的"另类"性生活 我四年前跟一个陌生人有过一次性生活,没戴套,这些年也一直在化验血,都... 货物清关多少钱 不思议迷宫一阶卷轴效果解析 firefox如何获取xml文档节点下子节点的属性 javascript 插入xml字符串片断,使用什么方法?例如,插入&quot;&lt;child&gt;conten... 在js解析xml的方法时,既兼容IE,又要兼容火狐狸,该怎么实现?先谢谢各位了。 纹身有什么说法和忌讳吗? 海带猪脚汤的做法: 纹身有什么讲究什么人适合什么纹身 javascript如何将一个字符串转换为一个对象? 男人纹身有哪些忌讳和讲究 猪蹄海带汤怎么煲 Jquery 中XMLDocument如何转成字符串? 怎样做猪蹄海带汤窍门 女生纹身的忌讳和讲究? 在火狐中怎样用JS创建xml 猪脚海带花生汤的做法 php把xml转换为字符串 纹身有哪些忌讳要注意 python 如何把xml文件转化成string js 怎么将一个对象转成字符串 猪脚海带绿豆汤的做法 请问java中怎么将生成的XML转化为字符串? javascript XML应用问题 脉脉解除好友关系对方知道吗 中国邮政储蓄银行怎么查询余额 中国邮政怎么查余额啊 怎么把支付宝笔笔攒关掉 热依扎山海情后求戏拍,你知道她演过的哪些影视作品? 热依扎的演技怎么样?她有什么好的作品? 热依扎神仙演技!她都有哪些代表作? 热依扎凭借《山海情》入围白玉兰,她在剧中饰演了一个什么角色? 如何评价热依扎在《山海情》中的表演? 热依扎《山海情》以后开始求戏拍,说说她在这部剧里的演技有多惊艳? 《山海情》热依扎臃肿身材演村妇获好评,2年前的愿望,要实现了吗? 热依扎因《山海情》上热搜,她在剧中的表现都有哪些亮点? 热依扎演技太给力了,你知道她还有哪些出彩的角色吗? 热依扎在新剧《山海情》中演得很真实,你知道她以前还演过哪些角色? 热依扎都出演过什么电视剧? 如何评价《山海情》中热依扎的表演? 扶贫剧《山海情》终收官,为何网友纷纷被热依扎的演技折服了? 热依扎告别《山海情》,在这部剧中她有哪些非常出彩的时刻? 热依扎山海情后求戏拍,中年女星都是无戏可演的状态吗?