オブジェクトfacebook
には、すべてのフィールドに getter が必要です。ドキュメントを見てください:
public JSONObject(java.lang.Object bean)
Bean ゲッターを使用して Object から JSONObject を構築します。オブジェクトのすべてのパブリック メソッドに反映されます。パラメーターがなく、名前が「get」または「is」で始まり、その後に大文字が続く各メソッドについて、メソッドが呼び出され、getter メソッドから返されたキーと値が新しい JSONObject に入れられます。キーは、「get」または「is」プレフィックスを削除して形成されます。残りの 2 番目の文字が大文字でない場合、最初の文字は小文字に変換されます。たとえば、オブジェクトに「getName」という名前のメソッドがあり、object.getName() を呼び出した結果が「Larry Fine」の場合、JSONObject には「name」:「Larry Fine」が含まれます。
JSONObject の他のコンストラクターを使用して、JSON を作成する場所からこのフィールドにアクセスできる場合に備えて、フィールドの名前を渡すこともできます (カプセル化が壊れる可能性があるので注意してください)。
public JSONObject(java.lang.Object オブジェクト、java.lang.String[] 名)
リフレクションを使用してパブリック メンバーを検索し、オブジェクトから JSONObject を構築します。結果の JSONObject のキーは名前配列の文字列になり、値はオブジェクト内のそれらのキーに関連付けられたフィールド値になります。キーが見つからないか表示されない場合、そのキーは新しい JSONObject にコピーされません。