在 C# 中使用 JavaScriptSerializer 将 JSON 转换为 XML [英] Convert JSON to XML using JavaScriptSerializer in c#
问题描述
我有一个像下面这样的 JSON 结构.
I have a JSON structure like below.
json={
"page": {
"mode": "2",
"ref": "user"
}
}
我使用以下代码将 JSON 转换为 XML.
I am using the following code for converting JSON to XML.
参考:http://www.flowgearcoder.net/2013/04/03/convert-between-json-and-xml
var dynamicObject = new System.Web.Script.Serialization.JavaScriptSerializer().DeserializeObject(Json);
System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(dynamicObject.GetType());
MemoryStream ms = new MemoryStream();
serializer.Serialize(ms, dynamicObject);
Xml = System.Text.Encoding.UTF8.GetString(ms.ToArray());
我在执行 xmlSerializer 转换时收到以下错误.
I am getting the following error while executing the xmlSerializer conversion.
类型 System.Collections.Generic.Dictionary`2[[System.String,mscorlib,版本=2.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089], [System.Object, mscorlib,版本=2.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089]] 是不支持,因为它实现了 IDictionary.
The type System.Collections.Generic.Dictionary`2[[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089], [System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] is not supported because it implements IDictionary.
谁能帮我解决这个问题?
Can anyone help me figure out this issue?
推荐答案
可以使用 Json.Net 轻松转换为 xml
string xml = JsonConvert.DeserializeXNode(json).ToString();
这篇关于在 C# 中使用 JavaScriptSerializer 将 JSON 转换为 XML的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!