欢迎来到代码驿站!

.NET代码

当前位置:首页 > 软件编程 > .NET代码

C# XML与Json之间相互转换实例详解

时间:2021-11-02 09:56:32|栏目:.NET代码|点击:

对于这转换其实很简单,其中最重要的就是先要引用类库。可以到官网进行下载引用http://json.codeplex.com。

XML转换为Json字符串  

复制代码 代码如下:

string xml = @"<?xml version=""1.0"" standalone=""no""?>
                            <root>
                              <person id=""1"">
                              <name>Alan</name>
                              <url>https://www.jb51.net</url>
                              </person>
                              <person id=""2"">
                              <name>Louis</name>
                              <url>https://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代码检验、检验、美化、格式化工具:
http://tools.jb51.net/code/json

JSON在线格式化工具:
http://tools.jb51.net/code/jsonformat

在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson

json代码在线格式化/美化/压缩/编辑/转换工具:
http://tools.jb51.net/code/jsoncodeformat

在线json压缩/转义工具:

http://tools.jb51.net/code/json_yasuo_trans

C语言风格/HTML/CSS/json代码格式化美化工具:
http://tools.jb51.net/code/ccode_html_css_json

上一篇:asp.net 无重复随机数代码

栏    目:.NET代码

下一篇:asp.net中javascript的引用(直接引入和间接引入)

本文标题:C# XML与Json之间相互转换实例详解

本文地址:http://www.codeinn.net/misctech/182145.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有