如何设置Newtonsoft Json.net以将此文本反序列化为.NET对象?
[
[
"US\/Hawaii",
"GMT-10:00 - Hawaii"
],
[
"US\/Alaska",
"GMT-09:00 - Alaska"
],
]
对于奖励积分,在Json中称为什么样的结构。我试着寻找匿名对象,但没有任何运气。
答案 0 :(得分:6)
这个JSON字符串(或者几乎,在你修复它之后它将是一个有效的JSON并删除尾随的逗号,因为它现在它是无效的)表示一个字符串数组的数组。使用内置的.NET JavaScriptSerializer类可以很容易地将其反序列化为string[][]
:
using System;
using System.Web.Script.Serialization;
class Program
{
static void Main()
{
var json =
@"[
[
""US\/Hawaii"",
""GMT-10:00 - Hawaii""
],
[
""US\/Alaska"",
""GMT-09:00 - Alaska""
]
]";
var serializer = new JavaScriptSerializer();
var result = serializer.Deserialize<string[][]>(json);
foreach (var item in result)
{
foreach (var element in item)
{
Console.WriteLine(element);
}
}
}
}
使用以下内容可以使用JSON.NET实现完全相同的结果:
var result = JsonConvert.DeserializeObject<string[][]>(json);
答案 1 :(得分:5)
JSON.Net使用JArray
来解析这些内容 - 请参阅:
答案 2 :(得分:0)
要查看详细介绍如何在.NET和JSON之间进行序列化和反序列化的博客条目,check this out。我发现它真的很有帮助。