嗨,我想把下面的json数据转换成不同的格式。这是在重新排列我的json数据。我也理解我们是通过键来访问数据的,但我的需求类似于下面的内容,我无法控制它。在下面的必填数据中,您可以看到月份始终排在第一位。
给定数据:-
[ { "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" } ]所需数据:-
[ { "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" } ]发布于 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 Map。Map保证密钥的顺序。
既然你在评论中提到D3.js需要这个,我很确定你的实际问题是其他的。请随时为您的D3.js问题打开另一个问题。
https://stackoverflow.com/questions/51369721
复制相似问题