javascript - 从 JS 对象创建有序 JSON 字符串
问题描述
var data = {};
$('.table-row').each(function(i, el) {
var key = $(el).find('.key').val();
var value = $(el).find('.value').val();
data[key] = value ;
}
var json = JSON.stringify(data);
// output unordered JSON string, since associative object does not preserve order
console.info(json);
如何创建有序的 JSON 字符串,其中键按插入顺序排序?
例如,当table-row
包含以下顺序的元素时 -a, x, c
我需要接收这样的 JSON 字符串{a: 1, x:2, c: 'value001'}
解决方案
如果 table-row 是一个对象,则不能保证 table-row 中的元素顺序。 JavaScript 是否保证对象属性顺序?
您最好从数组或MAP开始来存储有序的键,这将更容易转换为相同顺序的 JSON 字符串。
推荐阅读
- javascript - 制作一个没有 async/await 但只有 Promise 的异步生成器 *[Symbol.asyncIterator]
- python - 如何在 pypy3 windows 上安装 opencv-python?
- android - Firebase RealtimeDatabase 检索快照对象异常
- reactjs - 删除 Apollo 3 上的缓存
- android - AppWidgetHost.deleteAllHosts() 产生 NullPointer
- elasticsearch - 具有唯一值的 Elasticsearch 嵌套聚合(具有不同的嵌套文档)
- python - 枕头属性错误:“PhotoImage”对象没有属性“_PhotoImage__photo”
- python - 带双引号的雪花 CSV 上传
- r - 基于方差计数矩阵过滤!多次重复
- r - 从R中的空间点数据中删除每隔一行和一列