我正在使用.NET的JavaScriptSerializer
反序列化可以是你的標準平鍵/值對這樣的結構反序列化內部結構到字符串JavaScriptSerializer:在.NET
{
"Value": 3.14,
"Type": "Real"
}
或更復雜的,具有內分層值對象是這樣的:
{
"Value": { "something": "test" },
"Type": "JsonData"
}
我的問題是,在"Type": "JsonData"
的情況下,該對象可以是任意的。我不能假設它的結構會是什麼。
但是,我的應用程序的「上層」會知道如何處理這些數據。
因此,我需要找出一種方法來保持值字段的字符串,無論它是否包含整數,字符串或完整的JSON結構。基本上,我不希望JavaScriptSerializer
解析那裏的任何東西。我希望能有這樣一個類:
public class JsonObject
{
public string Value { get; set; }
public string Type { get; set; }
}
隨着Value
包含在我的JSON未處理,香草值。
有什麼辦法可以告訴.NET不要解析我的JSON的一部分?
請建議不要使用其他圖書館一樣JSON.NET。我知道它可能會做到這一點,但這是一個將作爲庫分發的項目 - 這就是爲什麼我寧願讓我的庫僅依賴於標準的.NET框架。
我必須說** ** JSON.Net提供最好的'json'解析庫。 –
我知道,我已經在很多其他項目中多次使用過它:)但是,對於我的項目來說,這完全是過度的,我真的必須要做的是標準的.NET運行時提供的東西,除此之外! –
ASP.NET MVC *也*使用Json.Net,這應該滿足要求。 「作爲一個庫」的要求並不意味着你不能使用Json.NET。這並不過分,它比過時的JavaScriptSerializer更簡單,更簡單,更合規。 –