解決 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 字符串在不同環境下的排序結果是一致的。