在 C# 中使用 JavaScriptSerializer 将 JSON 转换为 XML [英] Convert JSON to XML using JavaScriptSerializer in c#

查看:30
本文介绍了在 C# 中使用 JavaScriptSerializer 将 JSON 转换为 XML的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个像下面这样的 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆