2015-01-14 47 views
0

我已經在jqGrid的視圖(ASP.NET MVC)和我解析格柵數據到JSON.And我送這個JSON字符串控制器這樣的 -如何在C#中執行JSON反序列化?

[{"CSSMENUSETTINGID":"7","ISPUBLISHED":"1","DISPORDER":"<input class=\"txt width70\" onchange=\"javascript:fnValidateEmpty(this);\" onkeypress=\"javascript:return fnIsNumber(event,this)\" name=\"txtBox\" id=\"txt_DisplayOrder_7\" value=\"0\" type=\"text\">","MENUNAME":"Menu_0","DISPTXT":"<input class=\"txt\" placeholder=\"Display Text\" name=\"txtBox\" id=\"txt_DisplayText_7\" value=\"Menu_Dis_0\" type=\"text\">","DISPURL":"<input class=\"txt\" onchange=\"javascript:return fnIsURL(this)\" placeholder=\"Navigation URL\" name=\"txtBox\" id=\"txt_DisplayURL_7\" value=\"\" type=\"text\">","ISDISP":"<input id=\"chk_Display_7\" value=\"1\" type=\"checkbox\">"},{"CSSMENUSETTINGID":"8","ISPUBLISHED":"1","DISPORDER":"<input class=\"txt width70\" onchange=\"javascript:fnValidateEmpty(this);\" onkeypress=\"javascript:return fnIsNumber(event,this)\" name=\"txtBox\" id=\"txt_DisplayOrder_8\" value=\"1\" type=\"text\">","MENUNAME":"Menu_1","DISPTXT":"<input class=\"txt\" placeholder=\"Display Text\" name=\"txtBox\" id=\"txt_DisplayText_8\" value=\"Menu_Dis_1\" type=\"text\">","DISPURL":"<input class=\"txt\" onchange=\"javascript:return fnIsURL(this)\" placeholder=\"Navigation URL\" name=\"txtBox\" id=\"txt_DisplayURL_8\" value=\"\" type=\"text\">","ISDISP":"<input id=\"chk_Display_8\" value=\"1\" type=\"checkbox\">"},{"CSSMENUSETTINGID":"9","ISPUBLISHED":"1","DISPORDER":"<input class=\"txt width70\" onchange=\"javascript:fnValidateEmpty(this);\" onkeypress=\"javascript:return fnIsNumber(event,this)\" name=\"txtBox\" id=\"txt_DisplayOrder_9\" value=\"2\" type=\"text\">","MENUNAME":"Menu_2","DISPTXT":"<input class=\"txt\" placeholder=\"Display Text\" name=\"txtBox\" id=\"txt_DisplayText_9\" value=\"Menu_Dis_2\" type=\"text\">","DISPURL":"<input class=\"txt\" onchange=\"javascript:return fnIsURL(this)\" placeholder=\"Navigation URL\" name=\"txtBox\" id=\"txt_DisplayURL_9\" value=\"\" type=\"text\">","ISDISP":"<input id=\"chk_Display_9\" value=\"1\" type=\"checkbox\">"}] 

我的jqGrid包含一些輸入字段列像文本框和複選框。

而我的問題是,當我得到的JSON字符串在控制器我收到輸入列HTML而不是像這樣的單元格的值 -

"DISPORDER":"<input class=\"txt width70\" onchange=\"javascript:fnValidateEmpty(this);\" onkeypress=\"javascript:return fnIsNumber(event,this)\" name=\"txtBox\" id=\"txt_DisplayOrder_7\" value=\"0\" type=\"text\">" 

但我想jqGrid的細胞纔有價值,而不是HTML但是我沒有找到適合這個問題的方法。

我們可以做的一件事就是從html string中提取一個值。但是我不這樣做是最好的方法。

任何人都知道如何獲得價值,而不是HTML JSON字符串在C#中?

+0

無需推倒重來,就可以使用這個庫https://www.nuget.org/packages/Newtonsoft。 Json/ –

+0

嗨,bto.rdz, 感謝您的回覆,但我沒有得到你。請給我任何例子。 – user3848036

+0

在Visual Studio中運行該包,然後您可以免費使用該代碼。這是該圖書館的頁面。他們有大量的例子http://james.newtonking.com/json –

回答

0

在您的項目中使用Json.NET

第一個選擇是創建一個模型類,以反映您期望的JSON字段,並創建此模型的數組將該JSON反序列化爲對象並按照您的喜好進行操作。

第二種選擇是使用LINQ查詢並使用相同的動態庫。看到這個答案here

0

使用以下步驟:

1)從NuGet包中添加Json.NET。 2)創建一個包含任何的Json領域,你可能需要 3模型類)使用JsonConvert.DeserializeObject