如何从C#上的json读取数据

我有以下json对象,我传递给我的c#服务器

[ { "ID": 1, "FirstName": "Jay", "LastName": "Smith" }, { "ID": 2, "FirstName": "Rich", "LastName": "Son" }, { "ID": 3, "FirstName": "Emmy", "LastName": "Wat" } ] 

我像这样创建一个类

 public class Person { public int ID { get; set; } public string FirstName { get; set; } public string LastName { get; set; } } 

当我这样做

 public static string addRecord(string details) { Person tempRecord = JsonConvert.DeserializeObject(details); string tempFN = tempRecord.FirstName; return tempFN; } 

我无法得到实际结果。

我究竟做错了什么? 我是否必须在Person类中创建另一个List? 有帮助吗?

更新 – 我的记录来自网格,这就是我将它发送到我的服务器的方式

  var jsonD = Ext.encode(Ext.pluck(this.myGridStore.data.items, 'data')); Ext.Ajax.request({ scope: this, method: 'POST', url: 'myApp/AddRecord', headers: { 'Content-Type': 'application/json' }, dataType: 'json', jsonData: jsonD, success: function (response) { }, failure: function (response) { } }); 

您的JSON包含三个Person的集合,但您尝试反序列化JSON,就像它是一个Person

 Person tempRecord = JsonConvert.DeserializeObject(details); 

这一行需要返回Person集合

 var tempRecords = JsonConvert.DeserializeObject>(details);