如何参数化jsonSurfer collectOne方法--Java / Json解析

时间:2017-02-14 20:31:34

标签: java json

假设我有一个文件sample.json

{"Students":
[
{"Name": "ABC", "id" = "one"},
{"Name": "XYZ", "id" = "two"}
]
}

如何通过将索引号作为参数传递来检索数组元素对象?

例如,我想获得带有变量名ABC的数组元素。因此,在这种情况下,indexNum为0。

我在下面尝试过,但它不起作用。

InputStreamReader reader = read("sample.json");
Object obj = jsonSurfer.collectOne(reader,"$.Students[indexNum]");

不确定JsonSurfer是否支持参数化。请给我任何建议。感谢。

1 个答案:

答案 0 :(得分:1)

以下代码应该有效:

int indexNum = 0;
String jsonPath = "$.Students["+indexNum+"]";
Object obj = jsonSurfer.collectOne(reader,jsonPath);