android使用ION解析json数据

时间:2014-10-31 12:16:36

标签: android json ion

  

我致力于从服务器检索json数据并在我的应用程序中显示的简单应用程序。我正在使用此链接获取数据json data

     

我的代码如下,

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对象的多个值。请帮我。谢谢。

1 个答案:

答案 0 :(得分:0)

如果您要从服务器检索 Json ,那么您应该像这样使用Ion(使用asJsonObject而不是asString):

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

其余部分取决于您的解析。

如果您需要帮助,请发布您的回复格式,我们可以帮助您解析它。