C# XML与Json之间相互转换实例详解
程序员文章站
2024-02-21 21:40:16
对于这转换其实很简单,其中最重要的就是先要引用类库。可以到官网进行下载引用http://json.codeplex.com。
xml转换为json字符串
复制代码...
对于这转换其实很简单,其中最重要的就是先要引用类库。可以到官网进行下载引用http://json.codeplex.com。
xml转换为json字符串
复制代码 代码如下:
string xml = @"<?xml version=""1.0"" standalone=""no""?>
<root>
<person id=""1"">
<name>alan</name>
<url>//www.jb51.net</url>
</person>
<person id=""2"">
<name>louis</name>
<url>//www.jb51.net</url>
</person>
</root>";
这是在代码中预定义的一个xml字符串。
复制代码 代码如下:
mldocument doc = new xmldocument();
doc.loadxml(xml);
然后将xml字符串读入到xml文档。
复制代码 代码如下:
string jsontext = jsonconvert.serializexmlnode(doc);
console.writeline(jsontext);
然后通过json.net类库中专有的方法进行转换即可
运行结果为:
json字符串转换为xml
第一种格式的json字符串
复制代码 代码如下:
string json = @"{
""?xml"": {
""@version"": ""1.0"",
""@standalone"": ""no""
},
""root"": {
""person"": [
{
""@id"": ""1"",
""name"": ""alan"",
""url"": ""http://www.google.com""
},
{
""@id"": ""2"",
""name"": ""louis"",
""url"": ""http://www.yahoo.com""
}
]
}
}";
预定义的json字符串如上
同理调用json.net类库中的方法
复制代码 代码如下:
xmldocument doc1 = jsonconvert.deserializexmlnode(json);
console.writeline(doc1.outerxml);
第二种格式的json字符串
复制代码 代码如下:
string json_str = "{\"a\":\"a\",\"b\":\"b\"}";
string json1 = @"{
""?xml"": {
""@version"": ""1.0"",
""@standalone"": ""no""
},
""root"":" + json_str + "}";
同理进行调用
复制代码 代码如下:
xmldocument doc2 = jsonconvert.deserializexmlnode(json1);
console.writeline(doc2.outerxml);
调用很简单,只要将传递的xml或者json字符串格式搞正确,那么得到想要的结果就不难。代码可以直接copy调用。
ps:关于json操作,这里再为大家推荐几款比较实用的json在线工具供大家参考使用:
在线json代码检验、检验、美化、格式化工具:
json在线格式化工具:
在线xml/json互相转换工具:
json代码在线格式化/美化/压缩/编辑/转换工具:
在线json压缩/转义工具:
c语言风格/html/css/json代码格式化美化工具: