56

これはjson文字列です:

{"d":[{"numberOfRowsAdded":"26723"}]}

string json = DAO.getUploadDataSummary();
JObject uploadData = JObject.Parse(json);
string array = (string)uploadData.SelectToken("d");

numberOfRowsAdded の値を読み取るようにコードを変更するにはどうすればよいですか?

4

4 に答える 4

64
JObject uploadData = JObject.Parse(json);
int rowsAdded = Convert.ToInt32((string)uploadData["d"][0]["numberOfRowsAdded"])
于 2013-03-05T04:26:36.080 に答える
59

にキャストする必要がありますJArray:

string json = "{\"d\":[{\"numberOfRowsAdded\":\"26723\"}]}";
JObject parsed = JObject.Parse(json);
JArray array = (JArray) parsed["d"];
Console.WriteLine(array.Count);
于 2013-03-04T08:25:18.243 に答える
3

JObjectオブジェクトとしてキャストできdynamicます。配列をオブジェクト
にキャストすることもできます。JArray

JObject yourObject;
//To access to the properties in "dot" notation use a dynamic object
dynamic obj = yourObject;
//Loop over the array
foreach (dynamic item in obj.d) {
  var rows = (int)item.numberOfRowsAdded;
}
于 2014-06-05T23:23:35.353 に答える