【问题标题】:Save Json data to ArrayList将 Json 数据保存到 ArrayList
【发布时间】:2013-06-04 10:12:45
【问题描述】:

我想从下面的 json 格式数据中有效地读取每个元素并将每个 json 元素存储在一个数组列表中

   getData =  {"block_id":"2","body":"<p>json data" }


        String id = getData.getString("block_id");
        String name = getData.getString("body");

【问题讨论】:

  • 你的数据很难预测任何事情。
  • JSON 中缺少引号,导致其无效。您是否正在寻找专门针对此 JSON 数据的解决方案?
  • 我想检索 block_id 和 body 并将其存储在 arraylist 中
  • 先单独获取json数据,然后存入arraylist..
  • androidhive.info/2012/01/android-json-parsing-tutorial 只需查看此链接并尝试了解 JSON 解析的工作原理。您可以在 google 中获得此类问题的答案,而无需投票和批评。

标签: android android-jsinterface


【解决方案1】:

您可以使用以下代码来检索 json 数据

HttpParams httpParams = new BasicHttpParams(); HttpClient 客户端 = new DefaultHttpClient(httpParams);

         String url = your url;

         Log.v(TAG, "URL In onPreExecute"+url);
         HttpPost request = new HttpPost(url);

try 
        {
            response = client.execute(request);
             HttpEntity entity = response.getEntity();
             ent=entity.toString();
              if(entity!=null)
              {
                  InputStream instream = entity.getContent();
                  BufferedReader reader = new BufferedReader(new InputStreamReader(instream));
                  builder = new StringBuilder();
                  String line = null;
                  while((line=reader.readLine())!=null)
                  {
                      builder.append(line);
                  }
                  instream.close();
                  Log.v("CMH", "Result of http " + builder.toString());
                }
                else
                {
                     Log.v("Data", "Failed to download file");
                }


              JSONObject jsonObject = new JSONObject(builder.toString());
                //      String csSuccess = jsonObject.getString("vidlist");
                        jsonarray = jsonObject.getJSONArray("vidlist");
                        NumOfObjects  = jsonarray.length();
                        Log.v(TAG, "NumOfObjects "+NumOfObjects);

                for(int Video = 0; Video < NumOfObjects; Video++)
                    {
                        SetterGetter setget = new SetterGetter();

                        video_obj = jsonarray.getJSONObject(Video);


                    String id = video_obj.getString("video_id"));


                    }

【讨论】:

    【解决方案2】:

    ArrayList 声明,

    private ArrayList<Integer> idList = new ArrayList<Integer>();
            private ArrayList<String> nameList = new ArrayList<String>();
    

    成功解析数据后,

     String id = getData.getString("block_id");
      String name = getData.getString("body");
    
      //Here added into arraylist...
    
      idList.add(id);
      nameList.add(name);
    

    【讨论】:

      【解决方案3】:

      你可以试试下面的代码

      JSONObject json = new JSONObject(jsonstring);
      
      String id = json.getString("block_id");
      String name = json.getString("body");
      
      ArrayList<String> arrIds = new ArrayList<String>();
      arrIds.add(id);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-06
        • 1970-01-01
        • 2011-10-26
        • 2019-11-16
        相关资源
        最近更新 更多