私は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#.
私はfilters->ルールを得ることに成功が届かない[0] - >データ
私が試したもの:
dynamic jObj = JObject.Parse(postData);
var data = jObj.filters.rules[0].data;
エラーが発生しました: 'Newtonsoft.Json.Linq.JValue'に 'rules'の定義が含まれていません。
内の値を取得する方法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'.
filters->とfilters->ルールを支配する[0] - >データ?
は 'postData'、あなたが確かにあります文字列型のため、 'JObject.Parse(postData)'が必要ですか? 'JObject.Parse(postData)'を実際に作成する必要がある場合は、 'var filters = jObj.filters;ではなく、' dynamic filters = JObject.Parse(jObj.filters); ' – Oleg
オレグありがとう! :) –
あなたは大歓迎です! – Oleg