我有以下的JSON賦值給變量strP
:如何反序列化和獲取對象和數組鍵和值
{"get_the_data":[{"when_date":"09/12/2019","which_loc":"Orlando","who_witness":"visitor"}]}
,我需要生成以下的輸出:
get_the_data:
when_date - 09/12/2019
which_loc - Orlando
who_witness - visitor
我如何反序列化這個JSON以獲得對象內每個數組的KEY和VALUE?這是我到目前爲止所嘗試的:
string object1, string array1;
var jsonObj = new JavaScriptSerializer().Deserialize<RO>(strP);
//get the parent key: 'get_the_data'
object1 = get_the_data.ToString();
foreach (var p in strP._data)
{
//how can I get the KEY and the VALUE of each array within the object
array1 += p.Key + " - " + p.Value + Environment.NewLine; //e.g. when_date - 09/12/2019
}
Console.WriteLine(object1 + ":" + Environment.NewLine + array1);
//...
public class Data1
{
public string when_date { get; set; }
public string which_loc { get; set; }
public string who_witness { get; set; }
}
public class RO
{
public List<Data1> _data { get; set; }
}
p.s.我想避免使用外部JSON庫並使用本機C#方法。
只是出於好奇,你有什麼反對使用Json.net?它非常成熟,並且是Nuget上的頭號下載軟件包。你正在創造**所以**爲你自己做更多的工作,避免它 –
沒有什麼真正的,但本來想這樣做......但我會檢查出來:)謝謝。 – Si8
我認爲對於大多數.Net開發人員(甚至在微軟內部),Json.net被認爲是「原生」json解決方案。它默認帶有大量的微軟模板,特別是圍繞asp.net –