2
json 파일을 Java HashMap
으로 읽으려고합니다. 이 생성 된지도가 비어 있고 fieldA 내 테스트 케이스에서 찾을 수없는 것, 내 JSON 파일jackson으로 HashMap에 json 파일 읽기
{
"fieldA" : {
"Preis": "100,00 €",
"Text_de": "foo",
"Text_en": "bar",
"Materialnummer": "32400020"
},
"fieldB" : {
"Preis": "90,00 €",
"Text_de": "jeha",
"Text_en": "bla",
"Materialnummer": "32400030"
}
}
내 실제 문제의 내용이다. 그러나 파일을 읽는 동안 예외가 발생하지 않습니다.
@Test
public void readJsonFile() throws Exception {
File inFile = new File(
getClass().getClassLoader().getResource("doPrefill6_17.json").getFile()
);
assertTrue(inFile.exists());
assertTrue(inFile.canRead());
Map<String, IpadField> fieldMap = JsonCreator.readJsonFromFile(inFile);
assertNotNull(fieldMap);
assertTrue(fieldMap.containsKey("fieldA"));
}
구현 여기
public static Map<String,IpadField> readJsonFromFile(File inFile) throws IOException {
Map<String, IpadField> map = new HashMap<>();
ObjectMapper mapper = new ObjectMapper();
byte[] json = Files.readAllBytes(inFile.toPath());
mapper.readValue(json, new TypeReference<Map<String, IpadField>>(){});
return map;
}
POJO와
public class IpadField {
@JsonIgnore
public String fieldname;
public String Text_de;
public String Text_en;
public String Preis;
public String Materialnummer;
public IpadField(){
}
@Override
public String toString() {
return "IpadField{" +
"fieldname='" + fieldname + '\'' +
", Text_de='" + Text_de + '\'' +
", Text_en='" + Text_en + '\'' +
", Preis='" + Preis + '\'' +
", Materialnummer='" + Materialnummer + '\'' +
'}';
}
public IpadField(String fieldname, String text_de, String text_en,
String preis, String materialnummer) {
this.fieldname = fieldname;
Text_de = text_de;
Text_en = text_en;
Preis = preis;
Materialnummer = materialnummer;
}
}
어떤 생각?
OMG, facepalm .... 감사합니다. 나는 변명의 여지가 없습니다 .-) –
아무런 문제가 없습니다. 내 대답을 수락 해 주시기 바랍니다 : P –