node创建本地json数据文件

场景

使用静态地址数据时,需要将数据转换为ui组件可以使用的格式.

但是每次都进入数据遍历和格式化会导致性能损耗严重以及等待时长

所以需要将格式化的数据创建到本地json数据文件,直接取用即可

省市区列表数据格式
整体是一个 object,包含 province_list, city_list, county_list 三个 key。

每项以省市区编码作为 key,省市区名字作为 value。编码为 6 位数字,前两位代表省份,中间两位代表城市,后两位代表区县,以 0 补足 6 位。如北京编码为 11,以零补足 6 位,为 110000。

AreaList具体格式如下:

{
  province_list: {
    110000: '北京市',
    120000: '天津市'
  },
  city_list: {
    110100: '北京市',
  },
  county_list: {
    110101: '东城区',
  }
}

img

实现

此处采用node,因为写入文件只有后端语言才有权限,前端js无法创建和操作文件到系统.

当然也可以使用python或者php等,但是显然node更为方便,数据语言先天一致.

1创建文件writeJSon.js

//文件模块
let fs = require('fs');
//系统路径模块
let path = require('path');

// 要写入的json数据
let jsonData = {
    code: 0,
    data: [],
    msg: `成功`
}

// 格式化json
let text = JSON.stringify(jsonData)

// 指定要创建的目录和文件名称 __dirname为执行当前js文件的目录
let file = path.join(__dirname, 'test.json');

//写入文件
fs.writeFile(file, text, function (err) {
    if (err) {
        console.log(err);
    } else {
        console.log('文件创建成功~' + file);
    }
});

2.执行命令

运行的前提是先安装node

node writeJSon.js

3.查看写入的数据

使用记事本打开,可以看到json的数据没有空格且不换行.

创建新json数据文件时,可以对数据进行无效数据元素剔除.

减少空格和换行,以及其他方式对json进行体积减少或者压缩.

毕竟使用的是静态数据,不是api请求,体积越小,消耗的流量就越少,速度越快.

img

可视化

有时候在使用数据文件时,需要先清晰的查看数据结构,用于熟悉,定位和排查.

不换行的数据显然只适合使用,但不太适合查看,除了使用json格式化查看的插件外,还可以直接对json进行数据文件美化.

使用JSON.stringify的第三个参数即可,将上文的序列化改为下面的代码

使用制表符(\t)来缩进(第三个参数)

let text = JSON.stringify(jsonData,null,'\t')

写入的格式就带有换行,数据结构较为清晰

img

END.