Java中JSONArray的JSONArray解析

Java中JSONArray的JSONArray解析,java,arrays,json,parsing,Java,Arrays,Json,Parsing,我很难解析如下所示的JSONArray: { "informations": { "rows_nb": 4, //max is 4 "report": [ [ [ "BEACH", 59.35 ], [ "OCEAN", 40.65 ] ],//row1 , can be more than 2 arrays [ [ "OCEAN", 70.2 ], [ "BEACH", 29.8 ] ],//row2, can be more than 2 a

我很难解析如下所示的JSONArray:

{ 
  "informations": {
    "rows_nb": 4, //max is 4
    "report": [
      [ [ "BEACH", 59.35 ], [ "OCEAN", 40.65 ] ],//row1 , can be more than 2 arrays
      [ [ "OCEAN", 70.2  ], [ "BEACH", 29.8  ] ],//row2, can be more than 2 arrays
      [ "OCEAN", "BEACH" ],//row3
      [ "OCEAN" ]//row4
    ]
  }
}  
我试过这样的方法,但没有成功:

JSONObject JSONresult = new JSONObject(result);
JSONObject extras = JSONresult.getJSONObject("extras");
JSONArray report = extras.getJSONArray("report");
List<ArrayList<Object[]>> report_list = new ArrayList<ArrayList<Object[]>>();
for (int i = 0; i < report.length(); i++) {
    JSONArray tmp = report.getJSONArray(i);
    ArrayList<Object[]> row = new ArrayList<Object[]>();
    for (int j = 0; i < tmp.length(); i++) {
        Object[] array = {tmp.getJSONArray(i).getString(0), tmp.getJSONArray(i).getDouble(1)};
        row.add(array);
    }
    report_list.add(row);
}
JSONObject JSONresult=新的JSONObject(result);
JSONObject extras=JSONresult.getJSONObject(“extras”);
JSONArray report=extras.getJSONArray(“报告”);
List report_List=new ArrayList();
对于(int i=0;i

请帮忙

您正在使用的ObjectMapper是什么。下面是fasterxml的示例

String jsonInString = <your request>;
ObjectMapper mapper = new ObjectMapper();


//JSON from file to Object
User user = mapper.readValue(jsonInString, YourClassName.class);
String jsonInString=;
ObjectMapper mapper=新的ObjectMapper();
//从文件到对象的JSON
User=mapper.readValue(jsonInString,YourClassName.class);
您可以使用。 这将自动将JSON转换为嵌套列表的映射

String json = "{report: [      [ [ BEACH, 59.35 ], [ OCEAN, 40.65 ] ],      [ [ OCEAN, 70.2  ], [ BEACH, 29.8  ] ],      [ OCEAN, BEACH],      [ OCEAN ]    ]}";

Gson gson = new GsonBuilder().create();
Map map = gson.fromJson(json, Map.class);