欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-02-15 14:45:10
对于这转换其实很简单,其中最重要的就是先要引用类库。可以到官网进行下载引用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类库中专有的方法进行转换即可

运行结果为:

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

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);

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

第二种格式的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);

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

调用很简单,只要将传递的xml或者json字符串格式搞正确,那么得到想要的结果就不难。代码可以直接copy调用。

ps:关于json操作,这里再为大家推荐几款比较实用的json在线工具供大家参考使用:

在线json代码检验、检验、美化、格式化工具:

json在线格式化工具:

在线xml/json互相转换工具:

json代码在线格式化/美化/压缩/编辑/转换工具:

在线json压缩/转义工具:

c语言风格/html/css/json代码格式化美化工具: