我有一个简单的json文件格式不正确它看起来像:
{ ID: '092558667',
NAME: 'Store Made',
PARENT_CATEGORY_ID: '692558669',
INCLUDED_IN_NET_SALES: '1' }
Run Code Online (Sandbox Code Playgroud)
我需要做的就是用双引号包装字段名称.在vim中,我得到的最接近的是将字段名称和冒号包装在引号中 - 显然我需要弄清楚如何在没有冒号包裹的情况下获取字符串.这是我正在尝试的:
:%s/[A-Z_]*:/"&"
Run Code Online (Sandbox Code Playgroud)
如果我将冒号留在查询之外,则整个文件最终被选中.
您可以使用捕获组:
%s/\([A-Z_]*\):/"\1":/
Run Code Online (Sandbox Code Playgroud)
要正确处理已引用的密钥:
%s/"\?\([A-Z_]*\)"\?:/"\1":/
Run Code Online (Sandbox Code Playgroud)