我正在尝试使用pyjq的.split()[-1]
来剪切json键值的最后一个字,但是失败了,出现了错误:jq: error: syntax error, unexpected '('
The key/value - "subject": "The user has user id: 2432343f3f-34kfert-343mn5788886"
JSON:
[
{
"id": "The user has user id: 76e195fa-67f1-4ea6-bb0e-29c123855978",
"date": "2018-11-01T08:41:53Z"
},
{
"id": "The user has user id: 195fa76e-67f1-4ea6-bb0e-5597829c1238",
"date": "2018-10-31T14:43:04Z"
}
]
response_read = open('my.json', 'r')
response_read_parsed = json.loads(response_read.read())
rule = pyjq.all('.value[] | { "id": .["subject"].split()[-1], "date": .receivedDateTime }', response_read_parsed)
但是如果我在没有pyjq的情况下编写,这种方法是有效的
myid= (response_read_parsed['subject'].split()[-1])
print json.dumps(myid, indent=4)
由于上面有多个条目,我决定使用pyjq进行过滤。你知道吗
我犯了什么错误吗?我还是搞不懂。请帮忙。非常感谢你。你知道吗
jq的
split
需要一个参数,该参数必须是有效的JSON字符串。在您的例子中,您可能希望使用splits
,因为它接受正则表达式参数。但是,splits
会产生一个流,因此您可能希望按照以下行编写一些内容:相关问题 更多 >
编程相关推荐