2012-11-06 62 views
1

我有一個JSON字符串爲:轉換JSON字符串到XML字符串

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

==> hdnChromedata = JSON字符串

但在不同的代碼段,我存儲XML序列化的字符串爲「 hdnChromedata」。如:

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

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

==> hdnChromedata = XML字符串

同時retriving值我反序列化的字符串是這樣的:

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字符串轉換爲XML字符串在ASP.NET 1.1

回答

3

您可以使用Json.NET庫的JsonConvert。詳見http://james.newtonking.com/projects/json/help/index.html?topic=html/ConvertingJSONandXML.htm

Json.NET是.NET的開源JSON處理庫,它是最好的。

+0

是否需要添加某種第三方參考?我害怕我不能從我的項目中引用它.. – James

+0

是的,你需要從你的項目中引用DLL。 –

+0

是否有任何其他方式將JSON字符串轉換爲XML字符串..我不認爲從項目中引用DLL對我來說是可行的。 – James

0

無需轉換,deserialising之前只是測試字符串的第一個字符。如果字符串以<開頭,則將其視爲XML,如果以{開頭,則將其視爲JSON。

+0

如果以'''開頭怎麼辦? :) –

+0

我想這取決於OP的要求,但是我喜歡這種方法 – series0ne

+0

@LB:'拋出新的InvalidOperationException' :-) –