我有一个list
的option
类,我想办法给所有选项里面列表转换为JSON并将它们添加到下面的简单的JSON文件中的数组。
我正在使用play
框架,所以我必须使用它的 Json 库。
我已阅读文件并通过以下方式options
在所有节点上循环后获取节点:
jsonNode.get("options")
它返回一个类型的对象 com.fasterxml.jackson.databind.JsonNode
这是一个解释代码:
List<Option> options = new ArrayList<>();
选项类:
public class Option {
private String key;
private String query;
private String display;
}
JSON文件:
"options": [
{
"key": "...",
"query": "...",
"display": "..."
},
{
"key": "...",
"query": "...",
"display": "..."
},...
]
只是我想不出一种方法来option
从List
Json 文件标签内部添加所有内容options
,有人可以帮忙吗?
首先,我得到了一切options
:
List<FacetOption> nodeOptions = mapper.treeToValue(jsonNode.get("options"), List.class);
然后,将所有新option
列表添加到当前节点列表中:
nodeOptions.addAll(options);
然后,替换里面的旧节点JsonNode
:
ObjectNode objectNode = (ObjectNode) jsonNode;
objectNode.replace("options", Json.toJson(nodeOptions));
最后,编写我需要的新文件:
mapper.writeValue(new File(newJsonFilePath), rootNode);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句