JSON路径读取

时间:2015-11-24 11:58:20

标签: json jsonpath

我有这样的疑问:
在文件中我有多个这样的json行

{"id":1,"my_struct":{"other_id":1,"text":"HelloWorld0"}}
{"id":2,"my_struct":{"other_id":12,"text":"HelloWorld1"}}
{"id":3,"my_struct":{"other_id":123,"text":"HelloWorld2"}}

我尝试使用JSON Path查询获取数据:

&.id

我得到空行。
但是如果我在文件中使用相同的JSON Path查询只有一行

{"id":1,"my_struct":{"other_id":1,"text":HelloWorld0}}

我得到了正确的结果:1
我做错了什么?我怎样才能得到所有的身份?

1 个答案:

答案 0 :(得分:1)

根据您的示例,它是不正确的JSON格式。您可以在此在线工具中实际验证JSON或生成JSON:http://www.jsoneditoronline.org/

请阅读此处的示例,了解JsonPath的更多详细信息:https://github.com/jayway/JsonPath#user-content-path-examples

要使您的JSON有效,它应采用以下格式:

[
  {"id":1,"my_struct":{"other_id":1,"text": "HelloWorld0 Value"}},
  {"id":2,"my_struct":{"other_id":12,"text": "HelloWorld1 Value"}},
  {"id":3,"my_struct":{"other_id":123,"text": "HelloWorld2 Value"}}
]

要回答有关如何获取所有ID的问题,请使用"$.[*].id"