开发者

json.net has key method?

开发者 https://www.devze.com 2023-03-31 00:23 出处:网络
If my response has key \"error\" I need to process error and show warning box. Is there \"haskey\" method exists in json.net?

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;                       
0

精彩评论

暂无评论...
验证码 换一张
取 消