python - 有没有一种简单的方法可以在 vim 中反转 json 的 pretty-print ?

标签 python json bash vim pretty-print

当我出于机器学习目的标记图像或文本时,我经常以 json 格式导出结果。然后,我可以在 vim 中打开它,并使用

简单地进行 pretty-print
:execute '%!python -m json.tool'

我经常添加| w 自动将更改写入文件。

有没有办法扭转这个过程?压缩json,这样就没有多余的字符了?

输入示例:

{
    "name": "John",
    "email": "john@smith.co.uk"
}

期望的输出:

{"name":"John","email":"john@smith.co.uk"}

我会对 Vimish、Pythonish 和 Bashish 解决方案感到满意。

最佳答案

这也可以在纯 Vim 中完成:

%delete | 0put =json_encode(json_decode(@@))

但请注意,对象内的字段顺序将不会被保留。这样你就可以得到

{"email":"john@smith.co.uk","name":"John"}

关于python - 有没有一种简单的方法可以在 vim 中反转 json 的 pretty-print ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59053189/

相关文章:

python - 在 Azure Synapse 笔记本中运行 nltk.download ValueError : I/O operation on closed file

java - 自动将 "headers"和 "produces"属性添加到我的 @RequestMapping

linux - 尝试从文件满足目标条件的文件中删除以特定字符串开头的行,在 bash/linux 中

iphone - 在 bash 中解析 mobileprovision 文件?

用于移动包含文件的目录的 Linux 脚本

python - pip 正在尝试将带有 C 扩展名的包安装到 OSX 上的全局目录中

python - scipy.io.wavfile.read 中的 EOF

python - Django 页面点击计数器并发

json - 如何访问我从 Flutter 中的 HTTP POST 请求获得的 JSON 响应?

json - 如何在 JSON 对象 Spring Boot 中使用 @produces