如何在android中获得这个Json响应?我在服务器上获得大量数据,所以我想过滤它

Posted

技术标签:

【中文标题】如何在android中获得这个Json响应?我在服务器上获得大量数据,所以我想过滤它【英文标题】:How to get this Json responce in android? i am getting a huge data on server so i want to filter it 【发布时间】:2013-12-11 05:40:53 【问题描述】:

我正在从服务器获取一个巨大的 Json 数据,...比如here

但是我的设备无法处理这么多 JSON 数据,.. 以上只是示例,...

但我有一个类似的数据。


"result": [
    
        "details": [
            
                "offers": [
                    "id": "852255CAG8Qqadsfds4KEw",
                    "price": "99.99",
                    "seller": "google",
                    "availability": "Shipping in two days",
                    "currency": "USD"
                ],

像这样,但我可以这样,...但我在这个,..


"workind":"ok"
 status: ok
"result": [
    
        "details": [
            
                "offers": [
                    "id": "852255CAG8Qqadsfds4KEw",
                    "price": "99.99",
                    "seller": "google",
                    "availability": "Shipping in two days",
                    "currency": "USD"
                ],
           "getting_responce":ok
           "data"[
          ]  

就像我一开始就打电话给结果一样,我需要调用更多类似的结果,..数据,..过程,..所以我对tehre感到震惊 任何人请帮助我完成retrivel过程的一部分,...我想在here使用这个示例android代码

但在那边他叫“世界人口”

【问题讨论】:

在这种格式下,您的问题在 *** 上是题外话。查看this topic on help center 了解如何完善您的问题。 “有关您编写的代码问题的问题必须在问题本身中描述具体问题 - 并包括有效的代码来重现它。” 【参考方案1】:

我认为您可以使用 GSON 解析复杂的 JSON 响应。请查看这些教程http://www.javacodegeeks.com/2011/01/android-json-parsing-gson-tutorial.html

您只需创建模型类并使用适当的注释,然后数据将被直接解析为模型对象。

【讨论】:

【参考方案2】:

对于一个json文件如下图

"success":1,"events":["date":"Dec 14","event":"FBC Christmas Banquet \u2013 5PM","date":"Dec 15","event":"Evangelist Allen Domelle in AM & PM Services","date":"Dec 22","event":"Christmas Offering","date":"Dec 23","event":"Nursing Home Christmas at 10 AM"]

我是这样使用解析的。

try 
                        // Getting Array of Contacts
                        events = json.getJSONArray(TAG_EVENTS);

                        // looping through All Contacts
                        for(int i = 0; i <=events.length()-1; i++)
                            JSONObject c = events.getJSONObject(i);

                            // Storing each json item in variable
                            String event = c.getString(TAG_EVENT).toString();
                            String date = c.getString(TAG_DATE).toString();

                            // creating new HashMap
                            HashMap<String, String> map = new HashMap<String, String>();

                            // adding each child node to HashMap key => value
                            map.put(TAG_EVENT, event);
                            map.put(TAG_DATE, date);

                            // adding HashList to ArrayList
                            eventlist.add(map);
                        
                     catch (JSONException e) 
                        e.printStackTrace();
                    

通过查看您的代码,您需要三次调用 json 数组,因为您拥有三个数组。

【讨论】:

让我知道它是否有帮助。 是的,先生。这很好,但是对于大量不同的 json 数组和对象,.. 这意味着 a: b: v: 1: [ a: b: a: a: [....] 应该我要求不同的对象,...从 url 告诉我,..请帮助先生,...在 android @user2967727:告诉我您需要上述 json 部分的哪一部分。我会尝试获取它的代码。【参考方案3】:

您使用来自 Google 的gson 吗?这是解决您的问题的一种更简单的方法,我的团队在我们的项目中经常使用它。我认为您可以在 gson 中找到您想要的一切。

【讨论】:

【参考方案4】:

从 http 响应中分离值:

  private void get_dataFromServer(String php) 
    JSONObject jArray = null;
    String responseString = null;
    try
        HttpClient httpclient = new DefaultHttpClient();
        String url ="your url"; 
        HttpPost httppost = new HttpPost(url);
        HttpResponse response = httpclient.execute(httppost);
                    ByteArrayOutputStream out = new ByteArrayOutputStream();
        response.getEntity().writeTo(out);
        out.close();
        responseString = out.toString();
        Toast.makeText(getApplicationContext(),responseString,1000).show();

        JSONArray ja = new JSONArray(responseString);
    int example=integer.parseInt(ja.getJSONObject(0).getInt("YourInteger"));
    catch(Exception e)

    Log.e("COUNT", "Error in http connection: "+e.toString());
    finish();
    
  

【讨论】:

以上是关于如何在android中获得这个Json响应?我在服务器上获得大量数据,所以我想过滤它的主要内容,如果未能解决你的问题,请参考以下文章

解析从 android onMessageReceived 上的 fcm 响应获得的 json

如何在 yii 中以 json 格式(应用程序/json)获得响应?

如何在android的Asynctask中显示json响应[重复]

如何在 iOS 中获取 JSON 响应?获得零值?

如何在 php 中获得多个查询响应?

在 Fragments 中使用 JSON 时,应用在 Android 开发中没有响应