在Java中解析Json字段并存储为HashMap数组

在Java中解析Json字段并存储为HashMap数组,java,json,Java,Json,我需要解析一个Json,但结构未知。它们是确定数字和字段名的一种方法吗?我想解析它并将其存储为HashMap的数组。 我有下面的代码,但它只在我知道单个行中字段的名称时起作用 import java.io.*; import java.nio.file.Path; import java.nio.file.Paths; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.Array

我需要解析一个Json,但结构未知。它们是确定数字和字段名的一种方法吗?我想解析它并将其存储为HashMap的数组。 我有下面的代码,但它只在我知道单个行中字段的名称时起作用

import java.io.*;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.HashMap;

    import java.util.LinkedHashMap;
    import java.util.ArrayList;

    import org.json.simple.JSONArray;
    import org.json.simple.JSONObject;
    import org.json.simple.JSONValue;
    import org.json.simple.parser.JSONParser;
    import org.json.simple.parser.ParseException;

        public  ArrayList<LinkedHashMap<String,String>> JsonFileToJsonRows()
            {
                  JSONParser parser = new JSONParser();
                  ArrayList<LinkedHashMap<String ,String>> Json_rows =  new ArrayList<LinkedHashMap<String,String>>() ;
                  try 
                  {     
                      JSONArray jsonarray = (JSONArray) parser.parse(new FileReader("filename"));
                      for (Object row : jsonarray)
                      {
                        JSONObject rowjson = (JSONObject) row;
                        String field1 = (String) rowjson.get("field1");
                        String field2 = (String) rowjson.get("field2");
                        LinkedHashMap <String, String> extend_row =new LinkedHashMap <String, String>();
                        extend_row.put("field1",field1);
                        extend_row.put("field2", field2);
                        Json_rows.add(extend_row);
                      }
                  }
            catch (FileNotFoundException e)
            {
                e.printStackTrace();
            }
            catch (IOException e) 
            {
                e.printStackTrace();
            } 
            catch (ParseException e)
            {
                e.printStackTrace();
            }

            return Json_rows;
        }

        }
如何找到field1和field2的字段名。 我的Json结构是一个Json对象数组。 [{field1:field1data,field2:field2data},
{field1:field1data,field2:field2data}]

JSONObject扩展HashMap。这应该向您展示如何迭代JSONObject以获取字段/键:的可能重复项