2

JSON 応答を返す Facebook の Graph API を使用するように Web アプリをアップグレードしています。ただし、他に選択肢がない限り、JSON ライブラリに依存関係を追加したくありません。サーバー側の http リクエストには、Apache HttpComponents を使用します。

したがって、私の質問は、JSON 応答を処理するために使用できる JDK および/または HttpComponents のクラス (存在する場合) は何ですか? コードスニペットは大歓迎です:)

4

3 に答える 3

3

可能です。JSONは有効なJavaScript構文であるため、スクリプトAPIを介して組み込みのJavaScriptインタープリターを使用してグラフを作成し、オブジェクトグラフを作成できます(たとえば、ビジターパターンを使用してデータをJavaオブジェクトにプッシュします)。

ただし、データを信頼する必要があります。そうしないと、コードインジェクション攻撃にさらされる可能性があります。私にとって、これは適切なJSONパーサーの適切な代替ではありません。

于 2010-10-19T16:25:07.750 に答える
2

あなたが探しているのは org.json パッケージだと思います。ここでソースを取得し、プロジェクトに少数のファイルを含めるだけで、依存関係はありません。これにより、JSON の作成と解析が可能になります。javadocs はよくできており、ここで見つけることができます。

例として、json を使用する場合、トークナーを使用して生の文字列を JSONObject に変換できます。次に、インデックスまたはキーで配列にアクセスできます。JSONObject または JSONArray として取得することで、ネストされた配列にアクセスできます。

JSONTokener tokener = new JSONTokener(myJsonString);
JSONObject json = new JSONObject(tokener);

String error = json.get("error");
int errorCode = json.getInt("error_code");

JSONArray messages = json.getJsonArray("messages");

更新: ソースはGitHubでも入手できます

于 2011-12-13T17:54:20.850 に答える