[英]How to find if a JToken contains a value?
我試圖在名為“Contact_Name”的 JToken 中找到一個值。 我遇到的問題是它永遠不會進入 if 語句,我嘗試過使用其他值但它從未找到它們。
RestResponse response = await client.GetAsync(request);
var results = JObject.Parse(response.Content);
var array = results["data"].Value<JArray>();
foreach (var result in array)
{
string _opportunity_description = result.Value<JObject>()["Description"].Value<String>();
string opportunity_id = result.Value<JObject>()["id"].Value<String>();
string opportunity_closing_date = result.Value<JObject>()["Closing_Date"].Value<String>();
string opportunity_closing_date_timestamp = DateTimeOffset.Parse(zoho_opportunity_closing_date).ToUnixTimeMilliseconds().ToString();
string opportunity_stage = result.Value<JObject>()["Stage"].Value<String>();
string opportunity_deal_name = result.Value<JObject>()["Deal_Name"].Value<String>();
string opportunity_probability = result.Value<JObject>()["Probability"].Value<String>();
string opportunity_account_id = result.Value<JObject>()["Account_Name"].Value<JObject>()["id"].Value<String>();
string opportunity_deal_owner_email = result.Value<JObject>()["Owner"].Value<JObject>()["email"].Value<String>();
if (result.Contains("Contact_Name"))
{
Console.WriteLine("kjlnas");
//string opportunity_deal_contact_id = opportunity_deal_contact_name.Value<JObject>()["id"].Value<String>();
} }
在郵遞員中,我發現 Contact_Name 可以有兩種情況:第一種:
"data": [
{
"Contact_Name" : null
}]
第二種情況:
"data": [
{
"Contact_Name" :{
"id": xxx,
"name": xxx}
}]
嘗試以下方式可能會有所幫助我不確定
If(!String.IsNullOrEmpty(result.Value<JObject>()["Contact_Name"].Value<String>()))
{
//Your Logic
}
你可以使用這樣的東西:
if (result.SelectToken("Contact_Name") != null)
{
// Process data
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.