首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重新定位json数组对象元素

重新定位json数组对象元素
EN

Stack Overflow用户
提问于 2018-07-17 04:34:13
回答 1查看 72关注 0票数 0

嗨,我想把下面的json数据转换成不同的格式。这是在重新排列我的json数据。我也理解我们是通过键来访问数据的,但我的需求类似于下面的内容,我无法控制它。在下面的必填数据中,您可以看到月份始终排在第一位。

给定数据:-

代码语言:javascript
复制
[ { "Operating Company" : "7", "month" : "March", "Insolvency" : "2", "SPV / Asset Backed" : "4" }, { "Operating Company" : "3", "month" : "July", "Insolvency" : "43", "TBD" : "1" }, { "Operating Company" : "6", "month" : "August", "SPV / Asset Backed" : "27" }, { "Operating Company" : "54", "month" : "September", "Insolvency" : "114", "Operational Company" : "1", "SPV / Asset Backed" : "15" } ]

所需数据:-

代码语言:javascript
复制
[ { "month" : "March", "Operating Company" : "7", "Insolvency" : "2", "SPV / Asset Backed" : "4" }, {"month" : "July",  "Operating Company" : "3", "Insolvency" : "43", "TBD" : "1" }, { "month" : "August", "Operating Company" : "6", "SPV / Asset Backed" : "27" }, {"month" : "September",  "Operating Company" : "54", "Insolvency" : "114", "Operational Company" : "1", "SPV / Asset Backed" : "15" } ]
EN

回答 1

Stack Overflow用户

发布于 2018-07-17 05:01:49

JSON规范不保证JSON处理器如何处理对象中键-值对的顺序:

6对象

JSON语法不...为名称/值对的排序分配任何意义。这些都是可能由JSON处理器或在定义JSON用于数据交换的特定用途的规范中定义的语义考虑因素。

来源:

ECMAScript 2015规范对对象中键的顺序不做任何保证:

9.1普通对象内部方法和内部插槽9.1.11 [Enumerate]

..。枚举属性的机制和顺序未指定...

来源:ECMA-262, 6th Edition / June 2015

因此,您可以在JSON对象中更改键-值对的顺序,但是如果您将其JSON.parse()到JavaScript对象,则不再保证顺序。

但是,如果在JavaScript中解析JSON对象时需要保持JSON对象的键-值对的顺序,则需要编写自己的解析器,即将JSON对象解析为JavaScript MapMap保证密钥的顺序。

既然你在评论中提到D3.js需要这个,我很确定你的实际问题是其他的。请随时为您的D3.js问题打开另一个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51369721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档