很简单。
1 using System; 2 using System.Collections.Generic; 3 4 namespace Test 5 { 6 class Program 7 { 8 9 static string Message = "{\"Result\":0,\"ErrMsg\":\"执行失败。索引超出范围。必须为非负值并小于集合大小。\r\n参数名: index\",\"ErrCode\":\"\"}"; 10 11 static void Main(string[] args) 12 { 13 var obj = Newtonsoft.Json.JsonConvert.DeserializeObject(Message) as Newtonsoft.Json.Linq.JObject; 14 15 foreach (var item in obj) 16 { 17 Console.WriteLine(item.Value); 18 } 19 20 Console.Read(); 21 } 22 } 23 }
加红的那句,将匿名类转换成Newtonsoft内置的Object,以便获取值。
而内置Object将数据以List<JToken>形式存储。可以使用循环直接获取值。