c# - 使用 Newtonsoft.Json 反序列化 Json 数组

标签 c# arrays json serialization

我在 json 中有一个像这样的对象数组,格式如下

[{"GroupID":5},{"GroupID":47}]

反序列化的正确方法是什么?

我有组对象:

 public class Group
    {
        [JsonProperty("GroupID")]
        public int Id { get; set; }
    }

我正在尝试反序列化:

Group[] arr = JsonConvert.DeserializeObject<Group[]>(json).Select(j => j.Group).ToArray()

但我收到编译器错误 - 可能是由于缺少链接类:

'Group' does not contain a definition for 'Group' and no extension method 'Group' accepting a first argument of type 'Group' could be found (are you missing a using directive or an assembly reference?)

最佳答案

这个:

Select(j => j.Group)

意思是:“从数组中的所有元素中选择属性 Group”。

您没有名为 Group 的属性,您有一个名为 Group 的类。

您只需要:

Group[] arr = JsonConvert.DeserializeObject<Group[]>(json)

关于c# - 使用 Newtonsoft.Json 反序列化 Json 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28094358/

相关文章:

c# - 为什么 nameof() 在 Linq 表达式中给出了不明确的调用警告,但当我使用与字符串相同的值时却没有?

javascript - 使用 javascript 中的 splice 删除嵌套数组中的项目

javascript - JavaScript/HTML 中的待办事项列表

python - 将json dict转换为pandas df中的行

javascript - 来自 csv 的 JSON 对象

android - PolymorphicJsonAdapterFactory 缺少标签

c# - 如何从 C# 中的打印机删除访问控制条目?

c# - 在 C# 中创建线程池

c# - 使用 Azure Function v2 自定义 Application Insight TelemetryInitializer

c# - 在 C# 中搜索字节数组中的最长模式