我正在尝试使用JsonArray中的新key:value节点创建或更新JSON。到目前为止,我可以使用节点映射来添加简单的值,但是无法添加数组。
目标是使用以下值创建JSON字符串:
{
"curfew": [{
"enabled": true,
"lock_time": "00:00",
"unlock_time": "00:10"
},
{
"enabled": true,
"lock_time": "00:20",
"unlock_time": "00:30"
}]
}
从新的空JSON开始,然后添加更多值(例如第二个“宵禁”数组)。
Map<String, Object> values = ImmutableMap.of(
"enabled", true,
"lock_time", "00:00",
"unlock_time", "00:10");
String emptyJson = "{}"; //empty json
DocumentContext doc = getDocument(emptyJson)
doc.set(JsonPath.compile("$.curfew"), values).jsonString();
到目前为止,我得到了这个(没有阵列)
{
"curfew": {
"enabled": true,
"lock_time": "00:00",
"unlock_time": "05:00"
}
}
List<Map<String, Object>> list = new ArrayList<>();
list.add(values);
...
doc.set(JsonPath.compile("$.curfew"), list).jsonString();