从 Json 对象列表中获取字符串列表
Get list of string from list of Json object
我正在尝试从以下 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]
我对您的 json 进行了一些小改动以使其有效。
{"example":[
{"@name":"name1"},
{"@name":"name2"},
{"@name":"name3"},
{"@name":"name4"}
]}
并且指定的代码与以下表达式完美配合:
$.example[*].@name
有很多在线服务可以帮助验证您的 json。
其中之一是 jsonlint.com
我还建议查看 json.org。
我正在尝试从以下 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]
我对您的 json 进行了一些小改动以使其有效。
{"example":[
{"@name":"name1"},
{"@name":"name2"},
{"@name":"name3"},
{"@name":"name4"}
]}
并且指定的代码与以下表达式完美配合: $.example[*].@name
有很多在线服务可以帮助验证您的 json。 其中之一是 jsonlint.com
我还建议查看 json.org。