【发布时间】:2015-07-13 20:29:21
【问题描述】:
我有以下 Json 结构:
{
"name": "John",
"surname": "Doe",
"languages": [
{"language": "english", "level": "3"},
{"language": "french", "level": "1"}
]
}
我正在使用Play Framework从HTTP消息中解析Json数据,该消息是使用自开发的REST服务发送的。我已经知道如何通过查看文档从 Json 数据中解析姓名和姓氏,这是通过以下方式完成的:
JsonNode json = request().body().asJson();
String name = json.findPath("name").textValue();
String surname = json.findPath("surname").textValue();
现在我的问题是,如何解析 Json 数据中的数组“语言”。我发现了一些关于这个问题的其他帖子,但他们都在使用 Scala,我无法理解,所以最好我正在寻找一个 Java 解决方案。
我已经尝试了几件事,例如:
List<JsonNode> languages = json.findPath("languages").getElements();
根据文档 json.findPath() 返回一个 JsonNode,在其上可以调用函数 getElements(),它会返回一个 JsonNode 的 Iterator。但是我在 getElements 上得到一个编译错误:“方法 getElements() 未定义 JsonNode 类型”
有人知道解析这样一个数组的简单方法吗? 提前致谢
【问题讨论】:
标签: java arrays json playframework jackson