加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 不支持类型反序列化数组

发布时间:2020-12-15 18:10:11 所属栏目:百科 来源:网络整理
导读:我正在尝试对数组进行解法,但我一直遇到错误. JavaScriptSerializer jsonSerializer = new JavaScriptSerializer();Profiles thingy = jsonSerializer.DeserializeProfiles(fileContents); 这是给我错误的代码: 阵列的反序列化不支持Type. 这就是我的JSON的
我正在尝试对数组进行解法,但我一直遇到错误.
JavaScriptSerializer jsonSerializer = new JavaScriptSerializer();
Profiles thingy = jsonSerializer.Deserialize<Profiles>(fileContents);

这是给我错误的代码:

阵列的反序列化不支持Type.

这就是我的JSON的样子:

[
 {
  "Number": 123,"Name": "ABC","ID": 123,"Address": "ABC"
 }
]

解决方法

您只需要将其反序列化为某种类型的集合 – 例如数组.毕竟,您的JSON确实代表一个数组,而不是单个项目.简短而完整的例子:
using System;
using System.IO;
using System.Web.Script.Serialization;

public class Person
{
    public string Name { get; set; }
    public string ID { get; set; }
    public string Address { get; set; }
    public int Number { get; set; }
}

class Test
{
    static void Main()
    {
        var serializer = new JavaScriptSerializer();
        var json = File.ReadAllText("test.json");
        var people = serializer.Deserialize<Person[]>(json);
        Console.WriteLine(people[0].Name); // ABC
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读