如何提取Json数据并获取java中的所有值?

时间:2014-06-26 06:20:41

标签: java json

我试图显示以下Json中的所有值,但是通过使用下面的代码我只能 能够一次显示一个循环值。

说是否是关键,"姓名"

我在我的控制台中得到这样的结果

##-- NAME  :   abcd

但是我需要显示所有属于键的数据" 名称"和" E_ID "

有人可以帮我解决这个问题吗?

感谢您宝贵的时间!..

sample.java

 String strjson = "[\n    {\n        \"SampleList\": [\n            {\n                \"Name\": \"abcd\",\n                \"E_ID\": \"123\"\n            }\n        ]\n    },\n    {\n        \"SampleList\": [\n            {\n                \"Name\": \"efgh\",\n                \"E_ID\": \"456\"\n            }\n        ]\n    }\n]";



JSONArray jarr = new JSONArray(strjson);
for (int i = 0; i < jarr.length(); i++) 
                {

                    String str_alldata = jarr.getJSONObject(i).getString("SampleList");

                    JSONArray newjarr = new JSONArray(str_alldata);

                    for (int j = 0; j < jarr.length(); j++)
                    {

                        String name = newjarr.getJSONObject(j).getString("Name");
                        String id   = newjarr.getJSONObject(j).getString("E_ID");

                        System.out.println(">>-- NAME  :   "+name);                        
                        System.out.println(">>-- E_ID  :   "+id);                        

                    }


                }

1 个答案:

答案 0 :(得分:0)

内部循环使用错误数组的长度,尝试使用

 JSONArray newjarr = new JSONArray(str_alldata);

for (int j = 0; j < newjarr.length(); j++)
{