jxr*_*mos 11 diff beyondcompare
如何在 Beyond Compare 中比较两个缩小的 json 文件?是否有内置的 json 文件格式?我正在寻找比较底层 json 对象的两个漂亮的打印表示。
您可以通过在 Beyond Compare 中定义新的文件格式转换规则来实现这种专门的 diff 功能。本示例是在 Windows 操作系统中进行的。
步骤0:创建一个python转换脚本来渲染格式化的json。将以下 python 脚本保存在硬盘上的某个位置
import json
import sys
sourceFile = sys.argv[1]
targetFile = sys.argv[2]
with open(sourceFile, 'r') as file_r:
# Load json data
data = json.load(file_r)
# Write formatted json data
with open(targetFile, 'w') as file_w:
json.dump(data, file_w, indent=4)
Run Code Online (Sandbox Code Playgroud)
第 1 步:在 BeyondCompare 菜单中导航至:Tools-->File Formats...
步骤 2:单击 按钮+并选择创建新的文件格式条目Text Format

步骤 3:输入*.json文件格式的掩码字段以及任何有助于您回忆文件格式用途的描述。

步骤 4:定义文件格式的转换设置。选择“转换”选项卡,然后从下拉列表中选择“外部程序(unicode 文件名)”。在 Loading 字段中写入以下 shell 命令
python C:\Source\jsonPrettyPrint.py "%s" "%t"
Run Code Online (Sandbox Code Playgroud)
步骤 5:按“保存”按钮,并可以通过在“文件格式名称”和“掩码”表中右键单击文件格式来重命名该文件格式。
可以通过查看 python文档来考虑 json 转储的进一步专业化,例如sort_keys=True