如何删除 JSON 文件的第一个键?

如何删除 JSON 文件的第一个键?

我有一个非常大的 5 GB json 文件。我试图从文件中删除第一个键。
输入:

{"url":"example.com","original_url":"http://example.com","text":"blah...blah"...}

我试过:

jq 'del(.url)' file.json > out.josn

这个命令一直运行正常,直到我遇到一个错误:

aims@aims:~$ jq 'del(.url)' file.json > out.json
parse error: Invalid numeric literal at line 680284, column 49

请告诉我解决方案。问题出在哪里jq

答案1

将 JSON 数据加载为 Python 字典并弹出特定键

#!/usr/bin/env python
import json,sys

with open(sys.argv[1]) as f: 
    for line in f:
        data=json.loads(line)
        data.pop('url')
        json.dump(data,sys.stdout)
        print("")

测试:

$ cat input.txt                                                                                                          
{"url":"example.com","text":"blah...blah"}
{"url":"anotherexample.com","text":"blah...blah"}
$ ./pop_json_item.py input.txt                                                                                           
{"text": "blah...blah"}
{"text": "blah...blah"}

相关内容