json.net has key method?
本文关键字:method key has net json | 更新日期: 2023-09-27 18:06:44
如果我的响应有键"error",我需要处理错误并显示警告框。
是否有"haskey"方法存在于json.net?如:
var x= JObject.Parse(string_my);
if(x.HasKey["error_msg"])
MessageBox.Show("Error!")
只用x["error_msg"]
。如果属性不存在,则返回null
。
JObject
实现了IDictionary<string, JToken>
,因此您可以使用:
IDictionary<string, JToken> dictionary = x;
if (dictionary.ContainsKey("error_msg"))
…或者你可以使用TryGetValue
。它使用显式接口实现这两种方法,因此如果不首先转换为IDictionary<string, JToken>
,则不能使用它们。
JObject.ContainsKey(string propertyName)
已在11.0.1版本中作为公共方法
文档- https://www.newtonsoft.com/json/help/html/M_Newtonsoft_Json_Linq_JObject_ContainsKey.htm
这样做是有用的,如果key不存在,它提交Null到db。使用? ?和DBNull帮助解决这个问题
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;