gpt4 book ai didi

c# - JSON.net 无法反序列化

转载 作者:太空宇宙 更新时间:2023-11-03 12:36:25 25 4
gpt4 key购买 nike

我正在尝试反序列化以下内容:

[
{
"items":[
{
"b":1,
"Q":"data"
},
{
"b":2,
"Q":"more data"
}
]
},
{
"seconds_ago":1
}
]

我尝试反序列化为 C# 对象使用

   public class Rootobject
{
public Class1[] Property1 { get; set; }
}

public class Class1
{
public Item[] items { get; set; }
public int seconds_ago { get; set; }
}

public class Item
{
public int b { get; set; }
public string Q { get; set; }
}

public void test()
{
Rootobject deserializedObject = JsonConvert.DeserializeObject<Rootobject>(json);
}

但无论我尝试什么,我都会抛出各种错误,这是明显的用户错误。

谁能告诉我如何使用 JSON.net 解析上述示例的正确方向?

最佳答案

我想知道你从哪里得到的 Json,或者你只是自己想出来的。它并不是最适合使用的 Json,但由于这是您的示例,我将向您展示如何使用映射模型对其进行反序列化。

映射

正确的类(对于您提供的 Json)进行映射将如下所示:

public class Item
{
public int b { get; set; }
public string Q { get; set; }
}

public class Rootobject
{
public List<Item> items { get; set; }
public int? seconds_ago { get; set; }
}

反序列化:

要反序列化它,您可以使用 List<Rootobject>作为类型,因为有不止一个根对象(因为它是一个数组)[] :

List<Rootobject> deserializedList = JsonConvert.DeserializeObject<List<Rootobject>>(json);

关于c# - JSON.net 无法反序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40813607/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com