I'm writing to write a small miroservice to read a json file and put it into postgredb. Currently it is working fine. But now i want to modify my json file with array. previously 'result' and 'HD' were not there.
{
"result": {
"HD": [
{
"LOGADDR": "1000002624",
"CATEGORY": "ADD",
"NAME": "POLYTEC COMPOSITES GERMANY",
"STATUS": "ACTI"
}
]
}
}
my below code is working is fine without result and HD
CommandLineRunner runner(ResponseService responseService) {
return args -> {
// read JSON and load json
ObjectMapper mapper = new ObjectMapper();
TypeReference<List<Response>> typeReference1 = new TypeReference<List<Response>>() {};
InputStream inputStream1 = TypeReference.class.getResourceAsStream("/json/response.json");
try {
List<Response> responses = mapper.readValue(inputStream1, typeReference1);
responseService.save(responses);
System.out.println(responses);
System.out.println("response saved");
} catch (IOException e) {
System.out.println("not saved" + e.getMessage());
}
};
}
my domain file
@AllArgsConstructor
@Data
@Entity
@Table(name = "receive")
@JsonIgnoreProperties(ignoreUnknown = true)
public class Response {
@Id
@JsonProperty("LOGADDR")
private String LOGADDR;
@JsonProperty("CATEGORY")
@Column(name = "CATEGORY")
private String CATEGORY;
@JsonProperty("NAME")
@Column(name = "NAME")
private String NAME;
@JsonProperty("STATUS")
@Column(name = "STATUS")
private String STATUS;
public Response() {
}
}