0

サーバーで、名前と番号の 2 つのパラメーターしかない JSON 文字列を受信して​​います。以下の例を見つけてください。

{"name":"outlet.jpg","numbar":"2"},{"name":"image.jpg","number":"3"}, {"name":"testing.jpg","number":"1"}

この値を文字列配列に展開しようとしています。どうすればいいですか?

これは私がこれまでに持っているものです:

JSONObject jsonObject;

        try {
            jsonObject = new JSONObject(jsonString.substring(1, jsonString.length()-1));
            String name = jsonObject.getString("name");
            String number = jsonObject.getString("number");
            System.out.println("nome: " + name + " number: " + number);
        } catch (JSONException e) { 
            e.printStackTrace();
        }

配列を返す jsonObject には getString() はありません。この例では、JSON 文字列の最初の要素のみを取得しています。JSON 文字列の各キーの文字列配列を取得するにはどうすればよいですか?

4

1 に答える 1

5

間違ったタイプを使用しています。必要なのはJSONArrayです。

この JSON:

[{"name":"outlet.jpg","number":"2"},{"name":"image.jpg","number":"3"}, {"name":"testing.jpg","number":"1"}]

そして、このコード:

JSONArray json = new JSONArray(jsonString);
for(int index = 0; index < json.length(); index++) {
    JSONObject jsonObject = json.getJSONObject(index);
    String name = jsonObject.getString("name");
    String number = jsonObject.getString("number");
    System.out.println("name: " + name + " number: " + number);
}

この出力を生成する必要があります。

name: outlet.jpg number: 2
name: image.jpg number: 3
name: testing.jpg number: 1
于 2013-03-08T00:37:25.203 に答える