【发布时间】:2016-11-01 17:26:38
【问题描述】:
我正在使用 Jackson 来解析一些 json。来自这个 json 的 sn-p 如下:
},
"1/1/0": {
"event": "status",
"name": "Alarm Status",
"type": "Alarm",
"location": "Hall"
},
"1/1/1": {
"event": "status",
"name": "Smoke Alarm Status",
"type": "Alarm",
"location": "Hall"
},
我很高兴地设法提取了每个“对象”的数据,但我正在努力获取每个对象的“名称”。在上面的示例中,这将是“1/1/0”和“1/1/1”。我这样做是通过以下方式:
final JsonNode node = parser.parseToNode(configJson);
final JsonNode sensorsChild = node.get("sensors");
for (JsonNode root : sensorsChild) {
final String event = root.get("event").asText();
final String name = root.get("name").asText();
final String type = root.get("type").asText();
final String location = root.get("location").asText();
}
我想要在 for 循环中的另一行类似于:
final String id = root.getNodeFieldName();
这将分别产生“1/1/0”和“1/1/1”。谢谢
【问题讨论】:
-
你能发布完整的 json 吗?
-
@DerickDaniel 不幸的是,我不能,因为它有 1000 行长,但 sn-p 应该很好地表明我所面临的问题。
-
@Tomalek 我不确定是否如此。我之前看过,无法让“for”循环与错误“for-loop not applicable to the expression type”一起工作