[英]Parse Array inside of an JSON Object with C#
我正在嘗試解析 json 對象中的數組,但它不起作用,這是代碼:
public void JsonParserPersonal(string file)
{
string fullname;
string email;
var json = System.IO.File.ReadAllText(file);
var objects = JObject.Parse(json);
var arrays = JArray.FromObject(json);
fullname = (string)objects["NameComponents"]["FullName"];
email = (string)arrays["EmailAddresses"]["ItemValue"];
SearchReplacePersonal(fullname, email);
}
這是 JSON 數據:
{
"NameComponents": {
"FullName": "XXX"
},
"EmailAddresses": [
{
"IsPersonal": true,
"IsBusiness": false,
"FieldName": "Email1Address",
"DisplayTitle": "Email",
"ItemValue": "xxx@yyy.com"
}
]
}
我想要的只是獲取“EmailAddresses”中的“ItemValue”。 當我運行此代碼時,這是我得到的錯誤:
System.ArgumentException: '對象序列化為字符串。 預期 JArray 實例。
我正在使用 Visual Studio 2019。
謝謝!
訪問JArray
,應指定index
var objects = JObject.Parse(json);
var jarray = objects["EmailAddresses"];
Console.WriteLine((string)objects["NameComponents"]["FullName"]);
Console.WriteLine((string)jarray[0]["ItemValue"]);
或者迭代JArray
foreach(var item in jarray)
{
foreach(JProperty property in item.Children())
{
Console.WriteLine($"{property.Name} - {property.Value}");
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.