如何通过jsonpath提取“$”?

2024-04-26 07:14:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用“$”提取一个元素。但是它什么也没有检索到(第1次调用主.py). 有人知道怎么了吗?谢谢。你知道吗

$ cat data.json
{
  "id": {
    "$": {
      "view": "all",
      "id": "sec4",
      "role": "materials-methods"
    }
  }
}

$ cat main.py 
#!/usr/bin/env python
# vim: set noexpandtab tabstop=2 shiftwidth=2 softtabstop=-1 fileencoding=utf-8:

import sys
import json
json_data = json.load(sys.stdin)
import jsonpath_rw_ext
res = jsonpath_rw_ext.match(sys.argv[1], json_data)
for match in res:
    print match.keys()

$ < data.json ./main.py '$."$"'
$ < data.json ./main.py '$."id"'
[u'$']

Tags: pyimportviewidjson元素datamain
2条回答

正确的jsonpath表达式应该是'$.id.$'。你知道吗

注意:请不要将Python2用于新代码,并将现有Python2代码迁移到Python3

试试这个

$[?(!@.$)]

这将忽略包含$

相关问题 更多 >