Json.NET:序列化/反序列化数组

use*_*905 6 .net arrays json

我正在使用Json.NET库.通过C#在JSON中序列化/反序列化数组最方便的方法是什么?例如,我正在尝试反序列化以下文本(从文件中读取):

{
    "Name": "Christina",
    "Gender": "female",
    "Favorite_numbers": [11, 25 ,23]
}
Run Code Online (Sandbox Code Playgroud)

我正在从文件中读取上面的文本到变量:

JObject o = JObject.Parse(File.ReadAllText("input.txt"))
Run Code Online (Sandbox Code Playgroud)

然后,当我试图用数据提取数组[11, 24, 23]

int[] num = (int[]) o["Favorite_numbers"]
Run Code Online (Sandbox Code Playgroud)

我收到一个错误.

我究竟做错了什么?我如何正确读取数组?如何正确读取以下类型的2-dim数组[[1, 2, 3], [4, 5, 6]]

小智 2

Favorite_numbers属性将具有类型JArray,因为它无法推断它应该是什么类型。反序列化该对象的最方便方法是为其定义一个 C# 类,并使用方法JsonConvert.DeserializeObject<T>(...)将 JSON 反序列化为您定义的类。