我正在尝试从以下Json中提取字符串列表
"example":{[
{"@name":"name1"},
{"@name":"name2"},
{"@name":"name3"},
{"@name":"name4"}
]}
我想获取@name值列表。我正在使用jayway jsonpath来做到这一点。
我尝试了以下代码,
List<String> response = null;
try{
ReadContext ctx = JsonPath.parse(data);
response = ctx.read(xPath);
}catch(Exception e){
AppLogger.EventLogger.error(e.getMessage());
response = null;
}
return response;
但有一个例外,说无法找到指定的路径。我使用了以下jsonPath example.@name
有人能告诉我我的代码出了什么问题吗?如何提取列表@name值。
预期产出:
[name1,name2,name3,name4]
答案 0 :(得分:2)
我对你的json进行了一些小改动,以使其有效。
{"example":[
{"@name":"name1"},
{"@name":"name2"},
{"@name":"name3"},
{"@name":"name4"}
]}
并且指定的代码与以下表达式完美匹配: 的 $。例如[*]。@名称强>
有很多在线服务可以帮助验证你的json。 其中一个是jsonlint.com
我还建议您查看json.org。