我试图以下列格式将值插入json对象并将其保存到数据库中。
{
"mainObject": {
"childObject1": {
"validator": {
"dataType": "TEXT",
"regEx": "^[a-zA-Z0-9_]*{3,10}$"
},
"input": "Enter data value here"
},
"childObject2": {
"validator": {
"dataType": "TEXT",
"regEx": "^[a-zA-Z0-9_]*{3,10}$"
},
"input": "Enter data value here"
}
}
}
我需要在标签中输入输入值。像这样:
{
"mainObject": {
"childObject1": {
"validator": {
"dataType": "TEXT",
"regEx": "^[a-zA-Z0-9_]*{3,10}$"
},
"input": "Input 1"
},
"childObject2": {
"validator": {
"dataType": "TEXT",
"regEx": "^[a-zA-Z0-9_]*{3,10}$"
},
"input": "Input 2"
}
}
}
我在java中尝试了以下代码片段。我能够将数据插入到正确的节点中。
String output = "{
\"mainObject\": {
\"childObject1\": {
\"validator\": {
\"dataType\": \"TEXT\",
\"regEx\": \"^[a-zA-Z0-9_]*{3,10}$\"
},
\"input\": \"Enter data value here\"
},
\"childObject2\": {
\"validator\": {
\"dataType\": \"TEXT\",
\"regEx\": \"^[a-zA-Z0-9_]*{3,10}$\"
},
\"input\": \"Enter data value here\"
}
}
}";
ObjectMapper mapper = new ObjectMapper();
JsonNode rootNode = mapper.readTree(output);
ObjectNode newMetadata = (ObjectNode) rootNode.path("mainObject").path("childObject1");
newMetadata.put("inputValue", "Input 1");
我的问题是如何更新并将其写回mainObject节点。在使用该值更新子节点输入标记时,我想用此更新主对象并保存到数据库。
答案 0 :(得分:0)
我已经粘贴了有答案的代码。我在看错了节点。我在之前的评论中提到,我没有真正看到关闭问题的选项。为了说清楚,答案是,只要我写入子节点,父节点也将具有该属性。这是工作代码,它不需要修复,因为我说我正在查看错误的节点。