我想解析Json字符串並收集其中存在的數組值。獲取jqGrid ajax在C#中嵌套JSON字符串的數組由Newtonsoft Json
{"_search":true,"nd":1492064211841,"rows":30,"page":1,"sidx":"","sord":"asc","filters":"{\"groupOp\":\"OR\",\"rules\":[{\"field\":\"Emp_ID\",\"op\":\"cn\",\"data\":\"ASAS\"},{\"field\":\"Name\",\"op\":\"cn\",\"data\":\"ASAS\"},{\"field\":\"Designation\",\"op\":\"cn\",\"data\":\"ASAS\"},{\"field\":\"City\",\"op\":\"cn\",\"data\":\"ASAS\"},{\"field\":\"State\",\"op\":\"cn\",\"data\":\"ASAS\"},{\"field\":\"Country\",\"op\":\"cn\",\"data\":\"ASAS\"}]}"}
PS: Above string is coming from jqGrid Ajax to the WebMethod in C#.
我不是在得到越來越成功過濾器 - >規則[0] - >數據
我已經試過:
dynamic jObj = JObject.Parse(postData);
var data = jObj.filters.rules[0].data;
出現錯誤:「Newtonsoft.Json.Linq.JValue」不包含「規則」的定義。
dynamic jObj = JObject.Parse(postData);
var filters = jObj.filters; //Sucess: getting filters here
var rules1 = filters["rules"]; //Error: 'Newtonsoft.Json.Linq.JValue' does not contain a definition for 'rules'.
var rules2 = filters.rules; //Error: 'Newtonsoft.Json.Linq.JValue' does not contain a definition for 'rules'.
如何獲得內部值過濾器 - >規則和過濾器 - >規則[0] - >數據?
你肯定'postData'有字符串類型,因此'JObject.Parse(postData)'是必需的?如果你真的需要製作'JObject.Parse(postData)',那麼你仍然需要**秒解析'動態過濾器= JObject.Parse(jObj.filters);'而不是'var filters = jObj.filters; ' – Oleg
謝謝奧列格! :) –
不客氣! – Oleg