[英]How do I deserialize an array of JSON objects to a C# anonymous type?
反序列化單個json對象沒有問題
string json = @"{'Name':'Mike'}";
到C#匿名類型:
var definition = new { Name = ""};
var result = JsonConvert.DeserializeAnonymousType(json, definition);
但是當我有一個數組時:
string jsonArray = @"[{'Name':'Mike'}, {'Name':'Ben'}, {'Name':'Razvigor'}]";
我被卡住了。
怎么做到呢?
解決方案是:
string json = @"[{'Name':'Mike'}, {'Name':'Ben'}, {'Name':'Razvigor'}]";
var definition = new[] { new { Name = "" } };
var result = JsonConvert.DeserializeAnonymousType(json, definition);
當然,由於result
是一個數組,你可以像這樣訪問各個記錄:
string firstResult = result[0].Name;
你也可以調用.ToList()
和類似的方法。
您可以通過此方式反序列化為動態對象。
dynamic result = JsonConvert.DeserializeObject(jsonArray);
一種方法是在JSON數組字符串中放置一個標識符。
這段代碼對我有用:
var typeExample = new { names = new[] { new { Name = "" } } };
string jsonArray = @"{ names: [{'Name':'Mike'}, {'Name':'Ben'}, {'Name':'Razvigor'}]}";
var result = JsonConvert.DeserializeAnonymousType(jsonArray, typeExample);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.