12

私はこのようなAPI出力を持っています:

{"user" : {"status" : {"stat1" : "54", "stats2" : "87"}}}

JSONObjectこのAPIから次のような単純なものを作成します。

JSONObject json = getJSONfromURL(URL);

この後、次のようにユーザーのデータを読み取ることができます。

String user = json.getString("user");

しかし、どうすればとのデータを取得できstat1ますstat2か?

4

3 に答える 3

27

JSONObjectJSONObjectsネストされたandJSONArraysを含むJSONObject.getJSONObject(String)、さまざまなデータ型のアクセサを提供しますJSONObject.getJSONArray(String)

JSON を指定すると、次のようにする必要があります。

JSONObject json = getJSONfromURL(URL);
JSONObject user = json.getJSONObject("user");
JSONObject status = user.getJSONObject("status");
int stat1 = status.getInt("stat1");

ここでエラー処理が行われていないことに注意してください。たとえば、コードはネストされたメンバーが存在することを前提としています (確認する必要nullがあります)。例外処理はありません。

于 2012-08-02T15:43:20.600 に答える
2
JSONObject mJsonObject = new JSONObject(response);
JSONObject userJObject = mJsonObject.getJSONObject("user");
JSONObject statusJObject = userJObject.getJSONObject("status");
String stat1 = statusJObject.getInt("stat1");
String stats2 = statusJObject.getInt("stats2");

応答ユーザーからのステータスはObjectであるため、getJSONObjectstat1を使用し、stats2ステータスオブジェクトキーであるため、整数値を取得するにはgetInt()メソッドを使用し、文字列値を取得するにはgetString()メソッドを使用します。

于 2013-02-07T06:29:08.640 に答える
1

JSON のプロパティにアクセスするには、JSON.parse を使用してオブジェクトを解析し、次のように必要なプロパティにアクセスします。

var star1 = user.stat1;
于 2012-08-02T15:44:09.527 に答える