我是fasterxml.jackson库的新用户。我需要一个帮助来理解如何使用该库。我有一个从字符串生成的数组,我需要将其包含到一个根节点中,但我不知道如何做到这一点。
我的代码是:
class RigaAnamnesi {
int codRiga;
String testo;
boolean domandaSiNo;
Integer sub = 0;
String spiegazione = "Spiegazione di prova";
}
ArrayList<RigaAnamnesi> vArray = fillArray();
String json = mapper.writeValueAsString(vArray);
JsonNode parsedJson = mapper.readTree(json);
ArrayNode outerArray = mapper.createArrayNode();
ObjectNode outerObject = mapper.createObjectNode();
outerObject.putPOJO("domande", parsedJson);
outerArray.add(outerObject);
File f = Paths.get("anamnesi.json").toFile();
mapper.writeValue(f, outerArray);
我输出是:
{
"domande": [
{
"codRiga": 1,
"testo": "Malattie del sangue e problemi di coagulazione_",
"domandaSiNo": true,
"sub": 0,
"spiegazione": "Spiegazione di prova"
},
{
"codRiga": 2,
"testo": "Malattie endocrine (es.Diabete, Osteoporosi)___ ",
"domandaSiNo": true,
"sub": 0,
"spiegazione": "Spiegazione di prova"
},
{
"codRiga": 3,
"testo": "Malattie cardiache e vascolari_",
"domandaSiNo": true,
"sub": 0,
"spiegazione": "Spiegazione di prova,"
},
...
但我需要在一个新的根中包含:
{
"anamnesi": {
"domande": [
{
"codRiga": 1,
"testo": "Malattie del sangue e problemi di coagulazione_",
"domandaSiNo": true,
"sub": 0,
"spiegazione": ""
},
....
1条答案
按热度按时间r3i60tvu1#
Jackson ObjectNode表示JSON对象
{}
。要添加属性,您可以调用set(String,JsonNode)来添加另一个节点(对象、数组或简单值),也可以调用putPOJO(String,Object)。POJO代表Plain Old Java Object,此调用会将您的List<RigaAnamnesi>
类解释为JSON对象的数组。要获得所需的结构,不需要先将数组输出为字符串,而是可以创建两个对象并使用putPOJO,然后使用set: