我有一个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字符串
答案 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