Java 使用android获取JSON值

Java 使用android获取JSON值,java,android,json,Java,Android,Json,如何提取上述数据?我想得到那份工作 名字 个案数目 超链接 描述 地图提示 xy 使用此 {"SrchResults":[{"FeatCount":"53"},{"NAME":"Dengue_Cluster","Number of cases":"10","HYPERLINK":"http://www.dengue.gov.sg/cms/ehd/20131647.jpg ","DESCRIPTION":"Ang Mo Kio Ave 3 (Blk 126, 127, 128) / Ang Mo

如何提取上述数据?我想得到那份工作

  • 名字
  • 个案数目
  • 超链接
  • 描述
  • 地图提示
  • xy
    • 使用此

      {"SrchResults":[{"FeatCount":"53"},{"NAME":"Dengue_Cluster","Number of cases":"10","HYPERLINK":"http://www.dengue.gov.sg/cms/ehd/20131647.jpg ","DESCRIPTION":"Ang Mo Kio Ave 3 (Blk 126, 127, 128) / Ang Mo Kio Ave 6 (Blk 124, 125)","MAPTIP":"Dengue_Cluster","SYMBOLCOLOR":"#E600A9","XY":"29342.6037999997,39300.7427999992"}{"NAME":"Dengue_Cluster","Number of cases":"11","HYPERLINK":"http://www.dengue.gov.sg/cms/ehd/20131578.jpg ","DESCRIPTION":"Guillemard Rd / Lor 28 Geylang / Lor 30 Geylang","MAPTIP":"Dengue_Cluster","SYMBOLCOLOR":"#E600A9","XY":"33644.5215999996,32574.9587999992"}]}
      

      Java有自己的JSON库,尽管我更喜欢Google GSON,它更面向对象:

      托帕尔斯

      { // json object node
          "SrchResults": [ // jsona array
              {
                  "FeatCount": "53"
              },
              {             // json object node
                  "NAME": "Dengue_Cluster",    // string
                  "Number of cases": "10",
                  "HYPERLINK": "http://www.dengue.gov.sg/cms/ehd/20131647.jpg ",
                  "DESCRIPTION": "Ang Mo Kio Ave 3 (Blk 126, 127, 128) / Ang Mo Kio Ave 6 (Blk 124, 125)",
                  "MAPTIP": "Dengue_Cluster",
                  "SYMBOLCOLOR": "#E600A9",
                  "XY": "29342.6037999997,39300.7427999992"
              },
              {
                  "NAME": "Dengue_Cluster",
                  "Number of cases": "11",
                  "HYPERLINK": "http://www.dengue.gov.sg/cms/ehd/20131578.jpg ",
                  "DESCRIPTION": "Guillemard Rd / Lor 28 Geylang / Lor 30 Geylang",
                  "MAPTIP": "Dengue_Cluster",
                  "SYMBOLCOLOR": "#E600A9",
                  "XY": "33644.5215999996,32574.9587999992"
              }
          ]
      }
      

      您尝试过什么吗?这将产生JSONException,因为JSON数组中的第一个索引对象缺少“NAME”和其他键。@请尝试,然后再次注释这就是为什么索引从1开始。请参阅for loopWith try catch块,您可以阻止应用程序崩溃,但是你不能像这样解析你的jason。@amitsingh在发布评论之前你试过了吗?那么“FeatCount”键呢??
      { // json object node
          "SrchResults": [ // jsona array
              {
                  "FeatCount": "53"
              },
              {             // json object node
                  "NAME": "Dengue_Cluster",    // string
                  "Number of cases": "10",
                  "HYPERLINK": "http://www.dengue.gov.sg/cms/ehd/20131647.jpg ",
                  "DESCRIPTION": "Ang Mo Kio Ave 3 (Blk 126, 127, 128) / Ang Mo Kio Ave 6 (Blk 124, 125)",
                  "MAPTIP": "Dengue_Cluster",
                  "SYMBOLCOLOR": "#E600A9",
                  "XY": "29342.6037999997,39300.7427999992"
              },
              {
                  "NAME": "Dengue_Cluster",
                  "Number of cases": "11",
                  "HYPERLINK": "http://www.dengue.gov.sg/cms/ehd/20131578.jpg ",
                  "DESCRIPTION": "Guillemard Rd / Lor 28 Geylang / Lor 30 Geylang",
                  "MAPTIP": "Dengue_Cluster",
                  "SYMBOLCOLOR": "#E600A9",
                  "XY": "33644.5215999996,32574.9587999992"
              }
          ]
      }
      
            try
            {
                JSONObject jObj = new JSONObject("My Json string");
                JSONArray jr = jObj.getJSONArray("SrchResults");
                JSONObject json = (JSONObject) jr.get(0);
                String key = json.getString("FeatCount");
                Log.i("...........",key);
                for(int i=1;i<jr.length();i++)
                {
                    JSONObject jb= jr.getJSONObject(i);
                    String name = jb.getString("NAME");
                    String nofcase = jb.getString("Number of cases");
                    Log.i("Name is....",name);
                    Log.i("No of cases .........",nofcase);
      
                }
                }catch(Exception e)
            {
                e.printStackTrace();
            }
      
      12-08 09:53:32.212: I/...........(30147): 53
      12-08 09:53:32.212: I/Name is....(30147): Dengue_Cluster
      12-08 09:53:32.212: I/No of cases .........(30147): 10
      12-08 09:53:32.222: I/Name is....(30147): Dengue_Cluster
      12-08 09:53:32.222: I/No of cases .........(30147): 11