【问题标题】:How to read data from json on C#如何在 C# 上从 json 读取数据
【发布时间】:2013-06-25 10:04:57
【问题描述】:

我将以下 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<Person>(details);
    string tempFN = tempRecord.FirstName;
    return tempFN;
}

我无法得到实际结果。

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

更新 - 我的记录来自 Grid,这就是我将其发送到服务器的方式

    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) {
        }
    });

【问题讨论】:

    标签: c# json list object


    【解决方案1】:

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

    Person tempRecord = JsonConvert.DeserializeObject<Person>(details);
    

    此行需要返回一个Persons 的集合

    var tempRecords = JsonConvert.DeserializeObject<List<Person>>(details);
    

    【讨论】:

      猜你喜欢
      • 2016-04-26
      • 2020-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-24
      • 1970-01-01
      • 2016-10-01
      • 1970-01-01
      相关资源
      最近更新 更多