xml转json

问题描述:如何将xml的字符串转换为json 大家好,本文将围绕xml转json的两种方法展开说明,xml转json在线工具是一个很多人都想弄明白的事情,想搞清楚xml转json工具类需要先了解以下几个事情。

如何将XML文档转换为JSON格式

xml转json的相关图片

放上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;。

在java中怎么把xml文件转换成json格式的相关图片

在java中怎么把xml文件转换成json格式

之所以使用JSON一般是为了跳过XML这个过程,使JAVA类型到客户端的javascript类型可以不需要再解析XML就直接生成.为什么会从XML转换成json?

个人建议是通过Java解析XML,生成JavaBean或者其它类型的java对象,然后使用GSON,将java对象转化成json.GSON是google开发的一个包,小巧而功能强大,可定制性也很强,推荐使用.。

XMLSerializer把xml转json的相关图片

XMLSerializer把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 = "<parent><id>01</id<name>marry</name</parent>";。

JSON json = xmlToJson(xmlStr);。

System.out.println(json.toString());。

3、结果:

{“id”:”01”,”name”:”marry”}。

用python怎么实现json和xml的互转的相关图片

用python怎么实现json和xml的互转

1. JavaScript代码如下:

复制代码代码如下:

// Changes XML to JSON。

function xmlToJson(xml) {。

// Create the return object。

var obj = {};。

if (xml.nodeType == 1) { // element。

// do attributes。

if (xml.attributes.length > 0) {。

obj["@attributes"] = {};。

for (var j = 0; j < xml.attributes.length; j++) {。

var attribute = xml.attributes.item(j);。

obj["@attributes"][attribute.nodeName] = attribute.nodeValue;。

}

}

} else if (xml.nodeType == 3) { // text。

obj = xml.nodeValue;。

}

// do children。

if (xml.hasChildNodes()) {。

for(var i = 0; i < xml.childNodes.length; i++) {。

var item = xml.childNodes.item(i);。

var nodeName = item.nodeName;。

if (typeof(obj[nodeName]) == "undefined") {。

obj[nodeName] = xmlToJson(item);。

} else {。

if (typeof(obj[nodeName].length) == "undefined") {。

var old = obj[nodeName];。

obj[nodeName] = [];。

obj[nodeName].push(old);。

}。

obj[nodeName].push(xmlToJson(item));。

}

}

}

return obj;。

};

2. XML代码:

复制代码代码如下:

<ALEXA VER="0.9" URL="davidwalsh.name/" HOME="0" AID="=">。

<SD TITLE="A" FLAGS="" HOST="davidwalsh.name">。

<TITLE TEXT="David Walsh Blog :: PHP, MySQL, CSS, Javascript, MooTools, and Everything Else"/>。

<LINKSIN NUM="1102"/>。

<SPEED TEXT="1421" PCT="51"/>。

</SD>。

<SD>

<POPULARITY URL="davidwalsh.name/" TEXT="7131"/>。

<REACH RANK="5952"/>。

<RANK DELTA="-1648"/>。

</SD>。

</ALEXA>

3. JSON结果:

复制代码代码如下:

"@attributes": {。

AID: "=",

HOME: 0,

URL: "davidwalsh.name/",。

VER: "0.9",。

},

SD = [

{

"@attributes": {。

FLAGS: "",。

HOST: "davidwalsh.name",。

TITLE: A。

},

LINKSIN: {。

"@attributes": {。

NUM: 1102。

}

},

SPEED: {

"@attributes": {。

PCT: 51,。

TEXT: 1421。

}

},

TITLE: {

"@attributes": {。

TEXT: "David Walsh Blog :: PHP, MySQL, CSS, Javascript, MooTools, and Everything Else",。

}

},

},

{

POPULARITY: {。

"@attributes": {。

TEXT: 7131,。

URL: "davidwalsh.name/"。

}

},

RANK: {

"@attributes": {。

DELTA: "-1648"。

}

},

REACH: {

"@attributes": {。

RANK = 5952。

}

}

}

]

thinkphp 跨域获取 xml 转 json

ajax是属于template里面的一个异步请求而已,如果你在views里面传回来是你说的“实体对像(models)”的话,我就有点搞不明白了。。。

不知道你在那个view方法直接return的是什么?

如果使用json处理对象的话请使用:

from django.http import HttpResponse。

from models import mymodels。

import simplejson。

...

def ajax(request):。

a = mymodels.objects.all()[0]。

'''

此处假设a中有name、age参数。

model对象是不能直接作为json可以处理,必须先转换为dict类型。

'''

result = {}。

result['name'] = a.name。

result['age'] = a.age。

result = simplejson.dumps(result)。

return HttpResponse(result)。

此时用ajax访问这个试图返回的内容就是:

上面这种办法不是很好,建议先写一个template模板专门来显示此model内容。

假设模板ajax.html的内容为:

===================ajax.html===============。

name: }<br />。

age: }

=======================================。

views视图如下:

from django.http import HttpResponse。

from models import mymodels。

from django.shortcuts import render_to_response。

...

def ajax(request):。

a = mymodels.objects.all()[0]。

return render_to_response("ajax.html",)。

此时用ajax访问这个视图返回的内容就是:。

name: Jim Green。

age: 14

以上的代码可能会有错误,因为是随手写的,希望能够帮到你 。

====修改了一下====

模板文件名打错了。。。

修改了一下就到了楼上的下面了,楼上你也太没水准了。直接复制 。

=====修改=====

使用model.__dict__属性可以获得字典,希望能帮到你 。

你的串号我已经记下,采纳后我会帮你制作。

原文地址:http://www.qianchusai.com/xml%E8%BD%ACjson.html

v2/article-2929

v2/article-2929

游记优秀作文500字,游记作文500字优秀作文

游记优秀作文500字,游记作文500字优秀作文

我正在吃午餐翻译英文,我正在吃午餐翻译英文怎么说

我正在吃午餐翻译英文,我正在吃午餐翻译英文怎么说

奔驰发动机U012087,奔驰发动机电量处于临界点没事吧

奔驰发动机U012087,奔驰发动机电量处于临界点没事吧

mybatis多对多关联查询,mybatis一对多关联查询标签

mybatis多对多关联查询,mybatis一对多关联查询标签

赤明修神,修炼赤明九天图的小说

赤明修神,修炼赤明九天图的小说

剑桥mphil,剑桥mphil in engineering

剑桥mphil,剑桥mphil in engineering

vehicles-100

vehicles-100

主语宾语什么意思,主语,宾语,怎么区别什么?

主语宾语什么意思,主语,宾语,怎么区别什么?

attract,attract的形容词

attract,attract的形容词