iba*_*221 3 javascript linux json space
我目前正在处理一个大型 JSON 文件,并希望通过删除所有不在引号内的额外空格、制表符、返回等来缩短它。该文件大约有 100,000 行代码,我的其他脚本很难快速使用它。该文件最初如下所示:
{
"path": "/math/",
"id": "math",
"title": "Math Title",
"icon_url": "/images/power-mode/badges/circles-40x40.png",
"contains": [
"Topic",
"Video",
"Exercise"
],
"children": [],
"parent_id": "root",
"ancestor_ids": [
"root"
],
"description": "null",
"kind": "Topic",
"h_position": -10,
"v_position": 6,
"slug": "math"
}
Run Code Online (Sandbox Code Playgroud)
我希望它在删除不必要的空格、制表符、返回等后看起来像这样:
{"path":"/math/","id":"math","title":"Math Title","icon_url":"/images/power-mode/badges/circles-40x40.png",
"contains":["Topic","Video","Exercise"],"children":[],"parent_id":"root","ancestor_ids":["root"],
"description": "null","kind":"Topic","h_position":-10,"v_position":6,"slug":"math"}
Run Code Online (Sandbox Code Playgroud)
基本上每个空格都应该被删除,除了引号内的空格。
您可以使用jq的-c或--compact-output选项:
jq -c '' < your-file.json
Run Code Online (Sandbox Code Playgroud)
演示:
$ echo '
> {
> "a": "b"
> }' | jq -c ''
{"a":"b"}
Run Code Online (Sandbox Code Playgroud)
您可以将 json 读入代码,然后将其输出到指定紧凑格式的文件,引号内的空格将保留在字符串中。
在 python 中,您可以使用本机 json 库
import json
json.loads(your filestream)
json.dumps(your output stream) // the native output of json.dumps is compact
Run Code Online (Sandbox Code Playgroud)
python 文档中的详细信息https://docs.python.org/2/library/json.html
但是您应该能够在任何处理 json 的语言中执行相同的技术。
| 归档时间: |
|
| 查看次数: |
3045 次 |
| 最近记录: |