2012-05-02 7 views
1

Graph APIを使用して特定のフィールドのJSON文字列をリクエストしている場合、JSON文字列の構造を事前に知るにはどうすればよいですか? "user_interests"のようなフィールドをリクエストしたい場合、どうすればJSON内部の構造を知ることができますか?FacebookグラフのapiフィールドのJSON構造を知るには

最初に画面に印刷することはできますが、友人のリストの誰がこのフィールドの情報を追加したのか分かりません。

おかげ アビシェークS

+0

JSONの構造を知りたければ、facebookを使用して呼び出しを開始するだけです。Graph API Explorer – thermz

+0

ここで私が言っていることは、JSON Stringのeducation_history要素は特定の構造を持っているということです。 education_historyが公開されていない場合、このJSON要素の下位部分は何か分かりません。どのように解析する必要がありますか。 JSON要素のサブ部分がどのように事前に配置されているかを知る方法はありますか? –

+0

あなたはどの言語を使用していますか? PHP、Java、Javascript ....? – thermz

答えて

2

おそらく最も簡単な方法は、Graph Explorerでクエリを実行し、応答を見ていることです。 グラフエクスプローラでは、権限を切り替えることもできます。これは、FQLで使用することができますので、(簡単な例を使用して)のように、同様に呼び出します。

graph.facebook.com/fql?q=SELECT name, uid FROM user WHERE uid=me() 

あなたはまたFBDevWiki役に立つかもしれません。各GraphオブジェクトとFQLテーブルの戻り値の概要を示します。たとえば、userグラフオブジェクトを参照してください。

+0

ここで私が言っているのは、JSON Stringのeducation_history要素は特定の構造を持っているということです。 education_historyが公開されていない場合、このJSON要素の下位部分は何か分かりません。どのように解析する必要がありますか。 JSON要素のサブ部分がどのように事前に配置されているかを知る方法はありますか? –

+0

特定のレスポンスの構造を確認する場合は、テスト履歴にテスト履歴を追加してグラフエクスプローラで要求するか、IDEのブレークポイントでレスポンスを表示します。 FBDevWikiの要約も役に立ちます - 私の編集された答えを見てください。 –

+0

フィールド「教育履歴」に値がまったく含まれていない場合はどうなりますか?その場合、このJSONオブジェクト内のフィールドは表示されません。 –

-2

これはJSONについての質問であり、Facebookに関するものではないと思います。 ご使用のプログラミング言語によっては、ルートからサブパーツまでJSON内に存在するフィールド/キーが何であるかを確認する必要があります。

たとえば、iOS(iphone)では、jsonはNSArray/NSDictionaryに変換され、キー/フィールドが存在するかどうかをチェックします(nilではありません)。

「これはJSON内の構造をどのように知っていますか?」

0

あなたが使用している言語がJavaの場合は、「ラッピング」 facebook Graph APIを助けるライブラリを使用することを強くお勧めします。 個人的に私は今すぐREST FBで作業していますが、いくつかの限界がありません(モックアップテストを簡単に作成する可能性を除く)を除いて、良いライブラリです。

このようなライブラリを使用する主な利点の1つは、FacebookのJSONレスポンスを手動で解析する必要はありませんが、すでにJavaオブジェクトにカプセル化されていることです(古典的なJava Beanのフィールド方法例:myPost.getMessage())。

より具体的な例については、ドキュメントを参照してください。これはあなたが探しているものと正確には思えます。