2012-03-15 33 views
0

這是我從Web服務獲得的一個不尋常的json。使用JavaScriptSerializer解析不尋常的Json

{"SearchResults":[{"PageCount":"1"}, 
{"SEARCHVAL":"Result","CATEGORY":"Category1","X":"1","Y":"2"}, 
{"SEARCHVAL":"AnotherResult","CATEGORY":"Category1","X":"2","Y":"2"}]} 

我想只獲取Searchval的類別和x和y的值,並跳過pagecount。如何在不使用第三方庫的情況下跳過搜索結果? .Net是否具有像Silverlight的System.Json一樣靈活的解析方式?

回答

0

我使用JavaScriptSerializer的Deserialize並將結果放入Dictionary中。

代碼變得更長,因爲通過將對象強制轉換爲ArrayList和Dictionary來反覆使用數據,需要額外的代碼行。

Json.NET使用起來更加容易和更好,但可以在不定義類的情況下使用JavaScriptSerializer,並最終解析JSON的'OK'作業。

0

那麼,有Json.NET。您也可以使用JavaScriptSerializer,但這需要您繪製出我認爲的整個對象。通過this MSDN page來判斷System.Json可能會使它成爲.NET 4.5(無論何時將會發布)。

+0

因爲我想在沒有第三方庫的情況下這樣做,json.net不是一個選項。我在.net 3.5上這樣做,所以非SL項目的System.Json也被排除在外。我是使用JavaScriptSerializer的新手,因爲這是一個奇怪的Json結構,你能否指點我一個處理類似這樣的事情的例子? – Bahamut 2012-03-15 03:52:32