簡體   English   中英

如何查找 JToken 是否包含值?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM