Gson deserialisation generates NULL value

前端 未结 2 1043
栀梦
栀梦 2021-01-22 04:00

I was trying to read and convert a JSON file to an array but getting null values from the array after reading the JSON file. I am using the default constructor for my Ship

2条回答
  •  情深已故
    2021-01-22 04:39

    You can use something along these lines. Note that you don´t have to use Files.readAllBytes but in your code it could also be that the BufferedReader causes the error. If you need your ShipDetails as Array instead of a list, convert it or use your needed type in the TypeToken.

    final GsonBuilder builder = new GsonBuilder();
    final Gson gson = builder.enableComplexMapKeySerialization().create();
    
    // you can use the buffered reader here too, but this is easier to debug if shipDetails is a file
    final String jsonRepresentation = new String(Files.readAllBytes(shipDetails);
    
    // add a type definition
    final Type type = new TypeToken>(){}.getType();
    ArrayList shipDetails = gson.fromJson(jsonRepresentation, type);
    

    And as mentioned in the comments above, generate Getters and Setters.

提交回复
热议问题