【问题标题】:how to get 1st array value如何获得第一个数组值
【发布时间】:2017-02-23 12:06:44
【问题描述】:
{
  "status": "true",
  "data": [
    {
      "giid": "91",
      "gid": "26",
      "name": "gallery/image/7475068.png",
      "type": "0",
      "singer": ""
    },
    {
      "giid": "92",
      "gid": "25",
      "name": "gallery/image/8704185.png",
      "type": "0",
      "singer": ""
    },
    {
      "giid": "93",
      "gid": "25",
      "name": "gallery/image/3639377.png",
      "type": "0",
      "singer": ""
    },
    {
      "giid": "94",
      "gid": "25",
      "name": "gallery/image/5589478.png",
      "type": "0",
      "singer": ""
    },
    {
      "giid": "95",
      "gid": "25",
      "name": "gallery/image/3503162.png",
      "type": "0",
      "singer": ""
    }]}

在我的列表视图中只获取第一个值怎么可能?

我的代码:-

try {
                        JSONArray jsonObject = response.getJSONArray("data");
                        for (int i = 0; i < jsonObject.length(); i++) {
                            System.out.println("<<<<<<<<<<<<<<<<<<<");
                            JSONObject object1 = jsonObject.getJSONObject(i);

                            Beans_News info = new Beans_News();

                            info.setDate(object1.getString("giid"));
                            info.setNews(object1.getString("name"));
                            info.setNewsid(object1.getString("gid"));
                            info.setStatus(object1.getString("type"));

                            array_bean.add(info);
                            lvls.setAdapter(new CustomAdapter_classwork());
                            pDialog.hide();
                        }
                    } catch (JSONException e) {
                        Toast.makeText(getApplicationContext(), "Not available", Toast.LENGTH_SHORT).show();
                        e.printStackTrace();
                        pDialog.hide();
                    } 

我只想要列表中的第一个值,请帮助我

【问题讨论】:

  • #Invalid JSON .Rectify first
  • 如果你只想先访问然后只访问0索引
  • 我已经编辑了你的 json 格式
  • 在上面的代码中做得很完美,不要使用迭代器简单地使用数组索引=0获取第一个jsonarray元素

标签: android arrays json listview


【解决方案1】:

如果您发送如下响应:

  res.send({'status':'true', 'data': data})

res.json({'status':'true', 'data': data})

这个数据是一个数组,那么你可以得到第一个元素

obj = response;
let arr= obj.data;
if(arr.length>0) firstElement = arr[0]
else //whatever you want

【讨论】:

    【解决方案2】:
    JSONObject jsonObject = new JSONObject(response.toString());
    JSONArray jArray = jsonObject.getJSONArray("data");
    //remove for loop if you only need single data
    //for (int i = 0; i < jArray.length(); i++) {
    //if you need first value set 0 in index
       JSONObject object1 = jArray.getJSONObject(0);
    info.setDate(object1.getString("giid"));
    info.setNews(object1.getString("name"));
    info.setNewsid(object1.getString("gid"));
    info.setStatus(object1.getString("type"));
    

    试试这个希望对你有帮助

    【讨论】:

    • 你想要哪个单一值@niravshah?你想要“giid”:“91”、“gid”:“26”、“name”:“gallery/image/7475068.png”、“type”:“0”、“singer”:“”这个值?
    • 如果这对您有帮助,请将其标记为正确答案@niravshah 因此,如果您将其标记为正确答案,其他人将从中获得帮助。很高兴为您提供帮助:) :) :)
    • @niravshah 如果对您有帮助,请将此答案标记为正确
    • 如果我想要唯一的最后一条记录...?
    • 然后使用 JSONObject object1 = jArray.getJSONObject(jArray.length() - 1);希望有帮助
    【解决方案3】:

    在此处进行更改

     JSONObject object1 = jsonObject.getJSONObject(0);
    

    使用 0 索引

    【讨论】:

      【解决方案4】:

      像这样更新你的代码

      JSONObject jsonObject = response.getJSONArray("data").getJSONObject(0);
      Beans_News info = new Beans_News();
      info.setDate(jsonObject.getString("giid"));
      info.setNews(jsonObject.getString("name"));
      info.setNewsid(jsonObject.getString("gid"));
      info.setStatus(jsonObject.getString("type"));
      

      这是您可以尝试完成任务的最简单的代码。

      【讨论】:

        【解决方案5】:

        只需设置 .getJSONObject(0);

        JSONObject object1 = jsonObject.getJSONObject(0); // Set 0 for First Value
        Beans_News info = new Beans_News();
        info.setDate(object1.getString("giid"));
        info.setNews(object1.getString("name"));
        info.setNewsid(object1.getString("gid"));
        info.setStatus(object1.getString("type"));
        .......
        

        【讨论】:

          猜你喜欢
          • 2019-09-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-12-11
          • 1970-01-01
          • 2019-11-26
          • 2017-10-17
          • 1970-01-01
          相关资源
          最近更新 更多