我想在Java创建这种结构的JSON文件从POJO与杰克逊创建JSON,但不期望结构
"FieldA" : {
Preis: "100,00 €",
Text_de: "some german",
Text_en: "engl",
Materialnummer: "32400020",
},
"FieldB" : {
Preis: "100,00 €",
Text_de: "foo",
Text_en: "bar",
Materialnummer: "32400020",
}
我使用杰克逊这个创造了一个POJO
public class IpadField {
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;
}
}
当杰克逊创建这些字段列表
public void createJson() throws Exception {
File outFile = new File("d://test.json");
if (outFile.exists()){
outFile.delete();
}
IpadField fieldaA = new IpadField("fieldA", "test", "test", "test", "test");
IpadField fieldaB = new IpadField("fieldB", "test", "test", "test", "test");
Assert.assertFalse(outFile.exists());
JsonCreator.createForField(outFile, fieldaA);
ArrayList<IpadField> fieldList = new ArrayList<IpadField>();
fieldList.add(fieldaA);
fieldList.add(fieldaB);
JsonCreator.createForList(outFile, fieldList);
Assert.assertTrue(outFile.exists());
这将产生
[
{
"Materialnummer": "test",
"Preis": "test",
"Text_de": "test",
"Text_en": "test",
"fieldname": "fieldA"
},
{
"Materialnummer": "test",
"Preis": "test",
"Text_de": "test",
"Text_en": "test",
"fieldname": "fieldB"
}
]
这不是所需的结构,任何想法如何我需要适应POJO,使其产生正确的结构? 谢谢
你期望的结构并不似乎是有效的JSON。你确定没有围绕'{'和'}'吗? – meriton