如何設置Newtonsoft Json.net將此文本反序列化爲.NET對象?如何使用JSON.NET反序列化?
[
[
"US\/Hawaii",
"GMT-10:00 - Hawaii"
],
[
"US\/Alaska",
"GMT-09:00 - Alaska"
],
]
對於獎勵積分,這種類型的結構稱爲Json。我試圖尋找匿名對象,但沒有任何運氣。
如何設置Newtonsoft Json.net將此文本反序列化爲.NET對象?如何使用JSON.NET反序列化?
[
[
"US\/Hawaii",
"GMT-10:00 - Hawaii"
],
[
"US\/Alaska",
"GMT-09:00 - Alaska"
],
]
對於獎勵積分,這種類型的結構稱爲Json。我試圖尋找匿名對象,但沒有任何運氣。
JSON.Net使用JArray
讓這些被解析 - 見:
這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);
要查看博客條目,詳細說明如何在.NET和JSON之間進行序列化和反序列化,check this out。我發現它非常有幫助。
你在尋找反序列化到一個自定義的對象類型,或只是一個JSON「DOM」? DOM可能更容易,因爲它不需要對JSON模式進行任何更改,而「序列化」API往往更加挑剔。 –
DOM會對我好。 –