fast-json-stable-stringify 稳定地序列化 JSON 的库的使用详解

20 min read

介绍

fast-json-stable-stringify 是一个稳定地序列化 JSON 的 JavaScript 库。 它能够将一个 JSON 对象序列化为一个字符串,而保持该字符串总是会以相同的顺序序列化其中的属性。这对于测试,存储排序依赖的数据以及其他需要确定的序列化需求非常有用。

安装

通过 npm 安装:

npm install fast-json-stable-stringify

使用

const jsonStringify = require('fast-json-stable-stringify');

const obj = {
  name: 'Tom',
  age: 30,
  address: {
    city: 'Beijing',
    country: 'China',
    postcode: '100101'
  },
  tags: ['food', 'travel', 'music'],
  hobby: {
    food: 'noodles',
    sport: 'basketball'
  }
};

const str = jsonStringify(obj);

console.log(str); // {"name":"Tom","age":30,"address":{"city":"Beijing","country":"China","postcode":"100101"},"tags":["food","travel","music"],"hobby":{"food":"noodles","sport":"basketball"}}

该函数 jsonStringify() 接受一个对象,并返回一个 JSON 字符串。 如果序列化相同的对象,则每次函数调用应该产生相同的字符串。

注意点

该库只支持 JSON 对象,不支持 JSONP 等特殊 JSON。

结语

fast-json-stable-stringify 是一个非常有用的库,可以让我们在需要确保序列化的稳定性时进行使用。 它易于使用并且速度非常快,还有一个小尺寸, 能够减少我们在实际开发中的不必要的困扰。