如何使用Java将JSON数组的任意字符串解析为列表
我试图用Java中的Jackson来解析Json数组的字符串,格式为
"[{"key1":"value1"},{"key2":{"keyChild1":"valueChild1","keyChild2","valueChild2"}}]"
然而,数组字符串中的JSON对象可以是任意有效的JSON,这意味着我无法将它们映射到Parsing JSON in Java without knowing JSON format中建议的任何预定义POJO
目标是将这个JSON数组字符串转换为List<someObject>
,它可以代表数组中的每个JSON,这个someObject
将允许我添加/删除该JSON中的任何键/值对
我试着用
final ObjectMapper objectMapper = new ObjectMapper();
List<JsonNode> jsonNodes = objectMapper.readValue(jsonArraytring, new TypeReference<List<JsonNode>>() {});
而且这个列表似乎是空的。我真的被困在这里了
任何帮助都将不胜感激
# 1 楼答案
试试看
# 2 楼答案
可以将JSON数组反序列化为映射列表:
这比:
你可以通过调用
mapper.readValue(json, Object.class)
来进一步推动这一点。但是你需要知道如何使用反序列化的类型