解决 JSON 字符串乱序问题的方法主要有两种:
const jsonStr = JSON.stringify(jsonObj, (key, value) => {
if (typeof value === 'object' && !Array.isArray(value)) {
return Object.keys(value).sort().reduce((sorted, key) => {
sorted[key] = value[key];
return sorted;
}, {});
}
return value;
});
这样可以确保生成的 JSON 字符串中的键值对是按照键的字母顺序排列的。
const fastJsonStringify = require('fast-json-stable-stringify');
const sortedJsonStr = fastJsonStringify(jsonObj);
这种方法可以确保生成的 JSON 字符串在不同环境下的排序结果是一致的。