有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

json如何在java中迭代JSONArray

我想从JSONArray中提取这些值。JSONArray有N个行和列

        ObjectMapper mapper = new ObjectMapper();
        DynamicForm dynamicForm = new DynamicForm();
        dynamicForm = dynamicForm.bindFromRequest();
        Dynamic dynamic = dynamicForm.get(); 
        //List<OneModel> list = new ArrayList<OneModel>();
        //List iterate=new ArrayList();

        String data = dynamic.getData().get("content").toString();
        try {
            JSONArray jsonArray = new JSONArray(data);
            for (int i = 0; i < jsonArray.length(); i++) {
                System.out.println(jsonArray.get(i));
        } }catch (JSONException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }   

其结果如下

["1001432","05-KALENJI-P1229","KALENJI","2","2014-11-09 09:37:14.379482",""],
["1001432","05-KALENJI-P1228","KALENJI","1","2014-11-09 09:37:14.379482",""],
["1001432","05-KALENJI-P1227","KALENJI","5","2014-11-09 09:37:14.379482",""]

我想逐个提取值并将其分配给变量。例如1001432,05-KALENJI-P1229,KALENJI,22014-11-09 09:37:14.379482。这样我就可以处理每个值。请任何人在同一方面帮助我


共 (1) 个答案

  1. # 1 楼答案

    您可以使用以下代码:

    //将json放在字符串变量“data”中

    JSONArray jsonArray=new JSONArray(data);
                if(jsonArray!=null && jsonArray.length()>0){
                    for (int i = 0; i < jsonArray.length(); i++) {
                        JSONArray childJsonArray=jsonArray.optJSONArray(i);
                        if(childJsonArray!=null && childJsonArray.length()>0){
                            for (int j = 0; j < childJsonArray.length(); j++) {
                                System.out.println(childJsonArray.optString(j));
                            }
                        }
                    }
                }