If my response has key "error" I need to process error and show warning box.
Is there "haskey" method exists in json.net? Like:
var x= JObject.Parse(string_my);
if(x.HasKey["error_msg"])
Messa开发者_Go百科geBox.Show("Error!")
Just use x["error_msg"]
. If the property doesn't exist, it returns null
.
JObject
implements IDictionary<string, JToken>
, so you can use:
IDictionary<string, JToken> dictionary = x;
if (dictionary.ContainsKey("error_msg"))
... or you could use TryGetValue
. It implements both methods using explicit interface implementation, so you can't use them without first converting to IDictionary<string, JToken>
though.
JObject.ContainsKey(string propertyName)
has been made as public method in 11.0.1 release
Documentation - https://www.newtonsoft.com/json/help/html/M_Newtonsoft_Json_Linq_JObject_ContainsKey.htm
doing something like below is useful, if key is absent it submits Null into db. Using ?? and DBNull help fix the issue
eachObject is of type JToken
DataRow dr = localTable.NewRow();
dr["Campaign_ID"] = (object)eachObject["id"] ?? DBNull.Value;
dr["Campaign_Name"] = (object)eachObject["name"] ?? DBNull.Value;
dr["Campaign_Subject"] = (object)eachObject["subject"] ?? DBNull.Value;
精彩评论