使用vim快速构建json格式

json的一个特点是可以把所有内容看成是键值对的组合,如下所示:

{
	"a":"1",
	"b":"2",
	"c":"3"
}

键值对少的时候,可以用编辑器敲出来,而如果键值对非常多,几十上百个,敲出来就非常费劲了,我们假设可以分别获取到键和值的数据:

create_time
creator
modifier
modify_time
comments
customer_type
option_name
live_address
live_city
live_city_code
live_county
live_county_code
live_latitude
live_longitude
live_province
live_province_code
live_town
live_town_code
live_village
live_village_code
mobile
order_number
registration_way
report_date_time
reporter
username
collectors
market_code
market_name
update_date
创建时间
创建人编码
修改人
修改时间
备注
客户类型编码
客户类型
居住地址
居住市
居住市编码
居住县
居住县编码
居住纬度
居住经度
居住省
居住省编码
居住乡镇
居住乡镇编码
居住村
居住村编码
手机号
序号
注册方式
填报时间
填报人
影子账号
采集人
市场编码
市场名称
更新时间

想要变成如下格式

{
    "create_time":"创建时间"
    "creator":"创建人编码"
    "modifier":"修改人"
    "modify_time":"修改时间"
    "comments":"备注"
    "customer_type":"客户类型编码"
    "option_name":"客户类型"
    "live_address":"居住地址"
    "live_city":"居住市"
    "live_city_code":"居住市编码"
    "live_county":"居住县"
    "live_county_code":"居住县编码"
    "live_latitude":"居住纬度"
    "live_longitude":"居住经度"
    "live_province":"居住省"
    "live_province_code":"居住省编码"
    "live_town":"居住乡镇"
    "live_town_code":"居住乡镇编码"
    "live_village":"居住村"
    "live_village_code":"居住村编码"
    "mobile":"手机号"
    "order_number":"序号"
    "registration_way":"注册方式"
    "report_date_time":"填报时间"
    "reporter":"填报人"
    "username":"影子账号"
    "collectors":"采集人"
    "market_code":"市场编码"
    "market_name":"市场名称"
    "update_date":"更新时间"
}

首先分别处理键和值,使其变成如下格式

"键":
"值"

在这里插入图片描述
在这里插入图片描述

最后将两个block进行拼接

使用命令

:40,77del | let l=split(@") | 1,38s/$/\=remove(l,0)/

其中40,70和1,38需要根据实际行数情况进行修改
在这里插入图片描述
参考:
https://stackoverflow.com/a/10760494

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章