将JSON String转换为XML字符串

时间:2012-11-06 08:27:39

标签: c# asp.net json xml-serialization

我有一个JSON字符串:

var jsonString = JSON.stringify(dataObject);
document.getElementById("hdnChromedata").value = jsonString;

==> hdnChromedata = JSON字符串

但是在不同的代码部分,我将XML序列化字符串存储到“hdnChromedata”.as:

XmlSerializer xmlSerializer = new XmlSerializer(vinDescription.GetType());
StringWriter textWriter = new StringWriter();

xmlSerializer.Serialize(textWriter, vinDescription);
this.hdnChromedata.Value = textWriter.ToString();

==> hdnChromedata = XML字符串

在重新获取值时,我正在反序列化字符串,如下所示:

XmlDocument doc = new XmlDocument();
doc.LoadXml(this.hdnChromedata.Value);
XmlNodeReader reader = new XmlNodeReader(doc.DocumentElement);

XmlSerializer ser = new XmlSerializer(decodedInfo.GetType());
object textObj = ser.Deserialize(reader);
vinDescription = (AutoExact.AEVINDecoderService.VINDescription)textObj;

这里有一行doc.LoadXml(this.hdnChromedata.Value) 当hdnChromedata是JSON字符串时抛出错误。

我的问题是,我如何将此JSON字符串转换为XML字符串?

或者还有其他可以解决这个问题吗?

基本上我需要一种方法将JSON字符串转换为ASP.NET 1.1中的XML字符串

3 个答案:

答案 0 :(得分:3)

您可以使用Json.NET库的JsonConvert。请参阅http://james.newtonking.com/projects/json/help/index.html?topic=html/ConvertingJSONandXML.htm的详细信息。

Json.NET是一个用于.NET的开源JSON处理库,它是最好的。

答案 1 :(得分:0)

无需转换,只需在反序列化之前测试字符串的第一个字符。如果字符串以<开头,则将其视为XML,如果以{开头,则将其视为JSON。

答案 2 :(得分:-1)

使用json-lib,这是一个为任何Java程序添加JSON支持的库。 json-lib提供了一个XMLSerializer,可用于从JSON对象输出XML。

https://discursive.atlassian.net/wiki/display/CJCOOK/Converting+JSON+to+XML