0

サーバーからjsonデータを取得してアプリケーションに表示する単純なアプリケーションに取り組みました。このリンクを使用して、データ、json データを取得しています

私のコードは以下の通りです、

Ion.with(this)
            .load("http://marketplace.envato.com/api/edge/search:audiojungle,,happy.json")
            .asString().setCallback(new FutureCallback<String>() {

                @Override
                public void onCompleted(Exception arg0, String data) {
                    // TODO Auto-generated method stub

                    try {
                        JSONObject jObject = new JSONObject(data);
                        JSONArray jArray = jObject.getJSONArray("search");

                        for (int i = 0; i < jArray.length(); i++) {
                            JSONObject jObject_0 = jArray.getJSONObject(i);
                            JSONObject jObj = jObject_0
                                    .getJSONObject("item_info");
                            cost.setText(jObj.getString("cost"));
                            item.setText(jObj.getString("item"));
                            user.setText(jObj.getString("user"));
                            preview_value.setText(jObj
                                    .getString("preview_type"));
                            length.setText(jObj.getString("length"));

                            String s = jObj.getString("thumbnail");

                            Ion.with(getBaseContext()).load(s).withBitmap()
                                    .intoImageView(image);

                            Log.d("item", item.toString());

                        }

                    } catch (JSONException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
            });

一覧データに合わせて複数のデータを表示したい。bt は毎回同じ最後のデータを取得し、それをコンポーネントに設定しています。同じjsonオブジェクトの複数の値を取得する方法。私を助けてください。ありがとうございました。

4

1 に答える 1

0

サーバーからJsonを取得する場合は、おそらく Ion を次のように使用する必要があります ( asJsonObjectnotを使用asString):

    Ion.with(context)
            .load(url)
            .asJsonObject()
            .setCallback(new FutureCallback<JsonObject>() {
                @Override
                public void onCompleted(Exception e, JsonObject result) {
                    // TODO
                }
            });

残りはあなたの解析次第です。

ヘルプが必要な場合は、応答の形式を投稿してください。解析のお手伝いができるかもしれません。

于 2014-10-31T17:12:11.770 に答える