xml在线转json,xml在线转换lua
如何把XML格式转换成JSON-CSDN论坛
网站可以直接转:
如果是代码中使用,可以读取xml文件转成对象后,再用newtonsoft.json转成json对象
如何把xml转成json对象,底层代码
使用json-lib的XMLSerializer对象
(1)创建XMLSerializer对象
(2)使用XMLSerializer的read(xml)方法即可
[java] view plain copy
/* 第二种方法,使用json-lib提供的方法 */
//创建 XMLSerializer对象
XMLSerializer xmlSerializer = new XMLSerializer();
//将xml转为json(注:如果是元素的属性,会在json里的key前加一个@标识)
String result = xmlSerializer.read(xml).toString();
//输出json内容
System.out.println(result);
3.测试
[java] view plain copy
public class Test {
public static void main(String[] args) {
String xml = "class id="
+ "'1'"
+ "studentnameaaaaaa/nameage21/age/studentstudentnamebbbbbb/nameage22/age/student/class";
/* 第一种方法,使用JSON-JAVA提供的方法 */
//将xml转为json
JSONObject xmlJSONObj = XML.toJSONObject(xml);
//设置缩进
String jsonPrettyPrintString = xmlJSONObj.toString(4);
//输出格式化后的json
System.out.println(jsonPrettyPrintString);
/* 第二种方法,使用json-lib提供的方法 */
//创建 XMLSerializer对象
XMLSerializer xmlSerializer = new XMLSerializer();
//将xml转为json(注:如果是元素的属性,会在json里的key前加一个@标识)
String result = xmlSerializer.read(xml).toString();
//输出json内容
System.out.println(result);
}
第一种方法输出:
[java] view plain copy
{"class": {
"id": 1,
"student": [
{
"age": 21,
"name": "aaaaaa"
},
{
"age": 22,
"name": "bbbbbb"
}
]
}}
第二种方法输出:
[java] view plain copy
{"@id":"1","student":[{"name":"aaaaaa","age":"21"},{"name":"bbbbbb","age":"22"}]}
在java中怎么把xml文件转换成json格式
在java中把xml文件转换成json格式
1、前提需要jar包:
json-lib-2.4-jdk15.jar 和 xom-1.2.5.jar ,maven 仓库:
net.sf.json-lib
json-lib
2.4
jdk15
xom
xom
1.2.5
2、代码部分:
public static JSON xmlToJson(String xml) {
XMLSerializer xmlSerializer = new XMLSerializer();
if(xml!=null !”“.equals(xml)){
xml = xml.replaceAll(“\r|\n”, “”);
JSON json = xmlSerializer.read(xml);
return json;
}else{
return null;
}
}
public static void main(String[] args) {
String xmlStr = "parentid01/idnamemarry/name/parent";
JSON json = xmlToJson(xmlStr);
System.out.println(json.toString());
}
3、结果:
{“id”:”01”,”name”:”marry”}
如何将xml的字符串转换为json
放上maven依赖
dependency
groupIdorg.json/groupId
artifactIdjson/artifactId
version20151123/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
retcode1/retcode
payUnits
payUnit
provinceIdv1955/provinceId
cityIdv1961/cityId
payProjectIdc2680/payProjectId
payUnitIdv96564/payUnitId
payUnitName浙江省电费/payUnitName
/payUnit
payUnit
provinceIdv1955/provinceId
cityIdv1961/cityId
payProjectIdc2680/payProjectId
payUnitIdv85002/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;
}