2010-11-23 8 views
4

トークンが存在するかどうかを検出する最適な方法は何ですか?私はそれが発生した場合、単にエラーをキャッチ粗な方法を使用していますが、それが存在するかどうかを検出する方法がなければならない:json.netが存在しないトークンを処理する

try { Response.Write(token["key"]); } 
catch { } 

私が試してみました。このような何か:

if (token["disambiguated"].FirstOrDefault().HasValues) 

をしかし、それはありません動作していないようです。

ありがとう、 スティーブ。そのトークンをチェックする

答えて

7
token["disambiguated"] == null 

は、そのトークンをチェックする

token["disambiguated"].HasValues 

存在する値

0

どのようにトークンを移入されていますか? tokenがインスタンス化された(nullでない)値である場合、token["key"]は単にnullを返し、例外をスローしません。 tokenがnullの場合は、明らかにnull例外がスローされますので、tokenがnullでないことを確認してください。私はjson.netの最新バージョンでこれをテストしました。

-1

私はJSON.NETのJSONを親密に扱っていませんが、C#4を使用している場合は、動的コードを使用して非常に簡単なソリューションを得ることができます。

私はあなたがこのように上記のコードを書くことができるようになるsome code here投稿:

if (token.key!=null) 
    Response.Write(token.key); 

あなただけのJSONをdeserialisingためJSON.NETを使用している場合、これはあなたのための簡単な解決策かもしれません。

関連する問題