如何使用Json.NET将XML序列化为JSON对象

时间:2011-07-28 15:38:49

标签: c# xml json json.net

我可以将XML序列化为这样的JSON字符串:

var xml = new XmlDocument();
xml.LoadXml("<person><name>John</name></person>");
string jsonString = Newtonsoft.Json.JsonConvert.SerializeXmlNode(xml, Newtonsoft.Json.Formatting.None);
Response.ContentType = "application/json";
Response.Write(Newtonsoft.Json.JsonConvert.SerializeObject(jsonString));

那会给我:

"{\"person\":{\"name\":\"John\"}}"

但是如何将其序列化为JSON对象?像这样:

{"person":{"name":"John"}}

2 个答案:

答案 0 :(得分:19)

有时我们只是想让它变得更难......

var xml = new XmlDocument();
xml.LoadXml("<person><name>John</name></person>");
Response.ContentType = "application/json";
Response.Write(Newtonsoft.Json.JsonConvert.SerializeObject(xml));

我做错了是将XML序列化为字符串然后再次序列化。

答案 1 :(得分:0)

当您访问数据时,/自动不显示。 我正在访问AJAX帖子的HTML5帮助。 结果显示

在C#中显示&#34; {\&#34; person \&#34;:{\&#34; name \&#34;:\&#34; John \&#34; }}&#34;

但在HTML5中,它运行良好 {&#34;人&#34; {&#34;名称&#34;:&#34;约翰&#34;}}