web-dev-qa-db-ja.com

getJSONとoptJSON

getJSONObject(String key)optJSONObject(String key)の2つのメソッドに気付いたとき、私はJSONObjectの-​​ documentation を調べていました。ドキュメントから、1つの違いを除いて、ほぼ同じことを行っていることがわかりました。キーまたは値が見つからない場合、getJSONObject()JSONExceptionをスローしますが、optJSONObject()単にnullを返します。

  1. getJSONObject()optJSONObject()の間に他の違いはありますか?
  2. getに対するoptの利点は何ですか?その逆も同様です。
  3. どちらか一方を使用したい、または一方の使用が強く推奨されていない/禁止されている特定の状況はありますか?
25
Jason L

JSONの値はオプションである可能性があるため、それがnullかどうかを確認して関数を続行するだけでよいため、optJSONObjectを使用する方が適切です。

12
StevenTB

optStringは、指定したキーが存在しない場合、空の文字列( "")を返します。 getStringJSONExceptionをスローします。

8
Marzieh Bahri

キー「sentences」を使用してjsonファイルにoptJSONObjectを使用していますが、nullが返されますが、正しい結果はJSONArrayまたはStringである可能性があります。

{
"sentences":[
  {
     "trans":"làm",
     "orig":"do",
     "translit":"",
     "src_translit":""
  }
]
}
0
Huy Hớn