将JSON列表填充到C#对象

伊泰·加尔(Itay Gal)

我正在尝试将JSON / XML字符串填充到C#对象中。我将XML转换为JSON,然后使用JSON.NET。例子:

JSON字串

{  
"persons":[  
  {  
     "age":30,
     "name":"david",
     "hobbies":[  
        {  
           "name":"tennis",
           "hours":5
        },
        {  
           "name":"football",
           "hours":10
        }
     ]
  },
  {  
     "name":"adam",
     "age":23,
     "hobbies":[]
  }
]
}

C#类

public class Hobbies
{
    public string name;
    public int hours;
}

class Person
{
    public string name;
    public int age;
    public List<Hobbies> hoobies = new List<Hobbies>();
}

我正在尝试将数据填充到人员列表中:

List<Person> persons = new List<Person>();
JsonConvert.PopulateObject(myJsonText, persons);

我得到这个异常:

无法将JSON对象填充到类型上

我怎样才能做到这一点?

萨钦

这是JSON一个对象的表示:

{
  "key":"value"
}

这是对象的集合/数组/列表的表示

[
    {
      "key":"value"
    },
    {
      "key2":"value2"
    }
]

因此,您的JSON字符串不代表Person该类的数组或集合它用Persons属性表示对象,该属性是Person对象的集合

要将其解析为List<Person>,请移除最外层{ },然后尝试。

您的JSON应该看起来像这样

[
    {
        "age": 30,
        "name": "david",
        "hobbies": [
            {
                "name": "tennis",
                "hours": 5
            },
            {
                "name": "football",
                "hours": 10
            }
        ]
    },
    {
        "name": "adam",
        "age": 23,
        "hobbies": []
    }
]

然后像这样反序列化

var result = JsonConvert.DeserializeObject<List<Person>>(json);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将数据从CSV填充到C#中的现有Excel模板

来自分类Dev

使用循环将整数填充到下拉列表

来自分类Dev

Spring MVC-将枚举填充到下拉列表

来自分类Dev

将JSON对象转换为C#列表

来自分类Dev

如何将数据填充到Json模板

来自分类Dev

Flutter如何将数据从sqflite填充到下拉列表

来自分类Dev

将分组的对象填充到扩展的数据框中

来自分类Dev

如何使用python将列表中的信息填充到多个JSON对象中?

来自分类Dev

无法将JSON列表反序列化为C#中的对象列表

来自分类Dev

将零填充到Python列表

来自分类Dev

尝试将JSON数据填充到ListView中

来自分类Dev

将JSON填充到Listview

来自分类Dev

将json值填充到标记中

来自分类Dev

将JSON对象填充到highchart条形图中

来自分类Dev

GORM:将列表填充到选择下拉列表中

来自分类Dev

通过JSON将背景图片填充到列表视图项中的问题

来自分类Dev

将数据从JSON填充到微调器中时出错

来自分类Dev

如何使用ArrayList将JSON数据填充到ListView中

来自分类Dev

将树JSON数据填充到下拉框

来自分类Dev

将JSON从SQL填充到Android Listview

来自分类Dev

Android-将数据填充到列表视图

来自分类Dev

将JSON反序列化为C#对象列表

来自分类Dev

将UICollectionView填充到Firebase

来自分类Dev

将数组填充到与 id 匹配的数组内的对象中

来自分类Dev

使用带有restful api的json parsom将数据填充到列表视图中

来自分类Dev

C# 使用 newtonsoft json.net 将 json 数组转换为对象列表

来自分类Dev

将数据填充到 DataTable 中的特定单元格 -C#

来自分类Dev

C# 填充对象

来自分类Dev

ServiceNow,如何将值填充到列表变量