如何检查JSON对象是否具有某个属性

15

Java中有一个很好的方法has,可以检查一个JSON对象是否包含某个键。我使用它的方式如下:

在Java中,有一个很好的方法has可以检查一个JSON对象是否包含某个键。我用它的方法如下:

JSONObject obj = ....; // <- got by some procedure
if(obj.has("some_key")){
    // do something
}

我在C#newtonsoft.json库中找不到相同的酷炫功能。所以,我想知道有哪些替代方案。谢谢!


请参考我在此处的回答。 - Ben
3个回答

28

只需使用 obj["property_name"]。如果该属性不存在,则返回 null。

if(obj["proprty_name"] != null){
    // do something
}

8
你可以尝试这样做:
IDictionary<string, JToken> dict = x;
if (dict.ContainsKey("some_key"))

自从JSONObject实现了IDictionary<string, JToken>接口,你可以参考MSDN上的详细信息。

他正在使用 Newtonsoft.Json 而不是 System.Json - Lucius

-2

使用 JToken.ContainsKey() 方法,这应该可以正常工作。


JToken没有这个方法 ;) https://www.newtonsoft.com/json/help/html/T_Newtonsoft_Json_Linq_JToken.htm - Jatin Sanghvi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接