简体   繁体   English

用 gson 读取 json 到 arraylist

[英]read json to arraylist with gson

data.get("Sheet") object is in the arraylist class structure, but I cannot use the arraylist properties. data.get("Sheet") object 在 arraylist class 结构中,但我不能使用 ZEB3A834Z2546F50C9BDE8C 属性。 How can I access this data via a for loop?如何通过 for 循环访问这些数据? I could not find how to set up this loop.我找不到如何设置这个循环。 Thanks.谢谢。

json_file.json json_file.json

{
  "Sheet": [
    {
      "COL#3": "SI5G36",
      "COL#1": "qE4T1H"
    },
    {
      "COL#3": "",
      "COL#1": "88TWXH"
    },
    {
      "COL#3": "X20cUv",
      "COL#1": "6JKLC8"
    },
    {
      "COL#3": "yFQK02",
      "COL#1": ""
    }
  ]
}

read json method读取 json 方法

public static void read_json(String path) {
        try {
            Reader reader=new BufferedReader(new FileReader(new File(path)));

            Type type = new TypeToken<Map<String, Object>>() {}.getType();
            Map<String, Object> data = new Gson().fromJson(reader, type);
            System.out.println(data.get("Sheet"));
            System.out.println(data.get("Sheet").getClass());

//            System.out.println(new GsonBuilder().setPrettyPrinting().create().toJson(data));
        } catch (Exception e) {
            System.out.println(e);
        }
    }

output output

[{COL#3=V83p8D, COL#1=6IbR7l}, {COL#3=SI5G36, COL#1=qE4T1H}, {COL#3=, COL#1=88TWXH}, {COL#3=XEN02o, COL#1=w4UR6B}, {COL#3=X20cUv, COL#1=6JKLC8}, {COL#3=yFQK02, COL#1=}, {COL#3=2qn8XS, COL#1=3H0ENy}, {COL#3=SwR5B7, COL#1=5Wh60Q}, {COL#3=7B2CUH, COL#1=EN3G2S}, {COL#3=IRz99Y, COL#1=M5f3Az}, {COL#3=41MP9O, COL#1=AD461A}, {COL#3=2QP8Ti, COL#1=D463Bg}, {COL#3=WZ1Q1I, COL#1=E0nTu9}, {COL#3=8WID7P, COL#1=T8i5xK}, {COL#3=6x2V5I, COL#1=FES8W1}]
class java.util.ArrayList

data.get("Sheet") object is in the arraylist class structure, but I cannot use the arraylist properties. data.get("Sheet") object 在 arraylist class 结构中,但我不能使用 ZEB3A834Z2546F50C9BDE8C 属性。 How can I access this data via a for loop?如何通过 for 循环访问这些数据? I could not find how to set up this loop.我找不到如何设置这个循环。 Thanks.谢谢。

json_file.json json_file.json

{
  "Sheet": [
    {
      "COL#3": "SI5G36",
      "COL#1": "qE4T1H"
    },
    {
      "COL#3": "",
      "COL#1": "88TWXH"
    },
    {
      "COL#3": "X20cUv",
      "COL#1": "6JKLC8"
    },
    {
      "COL#3": "yFQK02",
      "COL#1": ""
    }
  ]
}

read json method读取 json 方法

public static void read_json(String path) {
        try {
            Reader reader=new BufferedReader(new FileReader(new File(path)));

            Type type = new TypeToken<Map<String, Object>>() {}.getType();
            Map<String, Object> data = new Gson().fromJson(reader, type);
            System.out.println(data.get("Sheet"));
            System.out.println(data.get("Sheet").getClass());

//            System.out.println(new GsonBuilder().setPrettyPrinting().create().toJson(data));
        } catch (Exception e) {
            System.out.println(e);
        }
    }

output output

[{COL#3=V83p8D, COL#1=6IbR7l}, {COL#3=SI5G36, COL#1=qE4T1H}, {COL#3=, COL#1=88TWXH}, {COL#3=XEN02o, COL#1=w4UR6B}, {COL#3=X20cUv, COL#1=6JKLC8}, {COL#3=yFQK02, COL#1=}, {COL#3=2qn8XS, COL#1=3H0ENy}, {COL#3=SwR5B7, COL#1=5Wh60Q}, {COL#3=7B2CUH, COL#1=EN3G2S}, {COL#3=IRz99Y, COL#1=M5f3Az}, {COL#3=41MP9O, COL#1=AD461A}, {COL#3=2QP8Ti, COL#1=D463Bg}, {COL#3=WZ1Q1I, COL#1=E0nTu9}, {COL#3=8WID7P, COL#1=T8i5xK}, {COL#3=6x2V5I, COL#1=FES8W1}]
class java.util.ArrayList

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM