java转json_java xml 转json

博客给出了一段Java代码,实现了将XML转换为JSON的功能。代码中定义了xmlToJSON方法,通过处理XML元素的属性、文本和子元素,将其转换为对应的JSON对象或数组,处理过程中考虑了元素的存在情况等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public static void xmlToJSON(Element element, JSONObject json) throwsJSONException {

var elementAttributes =element.attributes();

var elementText=element.getText();

List childElements =element.elements();for(Object Attribute : elementAttributes) {

Attribute attr=(Attribute) Attribute;if (!isEmpty(attr.getValue())) {

json.put("@" +attr.getName(), attr.getValue());

}

}if (!isEmpty(elementText)) {if(childElements.isEmpty()) {

json.put(element.getName(), element.getText());

}else{

json.put("#text", element.getText());

}

}for(Element childElement: childElements){

JSONObject childJSON= newJSONObject();

xmlToJSON(childElement, childJSON);

Object childObject=json.get(childElement.getName());if (childObject != null) {

JSONArray jsona= null;if (childObject instanceof JSONObject) {//如果此元素已存在,则转为jsonArray

JSONObject jsono =(JSONObject) childObject;

json.remove(childElement.getName());

jsona= newJSONArray();

jsona.add(jsono);

jsona.add(childJSON);

}if (childObject instanceofJSONArray) {

jsona=(JSONArray) childObject;

jsona.add(childJSON);

}

json.put(childElement.getName(), jsona);

}else{if (!childJSON.isEmpty()) {

json.put(childElement.getName(), childJSON);

}

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值