我有一个JSON对象,我试图用它们的值交换密钥。这些值都是唯一的,但键不是。由于它们不是唯一的,所以在创建对象时,将删除非唯一键。交换JSON密钥和值
无论如何我可以在创建对象之前反转键和值吗?我试图用下划线做这个,但是这个库只允许你反转对象。
<!DOCTYPE html>
<html>
<body>
<script src="http://underscorejs.org/underscore-min.js"></script>
<script>
var myObj = {
"503": "07:25",
"507": "06:00",
"500x": "06:50",
"500x": "07:20",
"500": "07:35",
"503": "07:50",
"507": "07:40",
"500x": "07:55",
"500": "08:30",
"500x": "08:00",
"500": "10:45",
"507": "09:05",
"500": "10:45",
"507": "09:05",
"500": "13:45",
"500": "16:45",
"500": "20:00",
"500": "22:00",
"500N\n*Thur/Fri Only": "23:00"
},
myObj = _.invert(myObj),
keys = Object.keys(myObj),
values = Object.values(myObj),
i, len = values.length;
console.log("Total len = " + len)
values.sort();
console.log(myObj);
for (i = 0; i < len; i++) {
k = keys[i];
v = values[i];
console.log(k + ': ' + v);
}
</script>
</body>
</html>
过得好MyObj中?如果myObj已经创建,那么数据丢失 – marvel308
我有一个文件,其中包含这种格式的所有JSON:https://pastebin.com/Ppv7in9t – William
对不起,但这不是有效的JSON。密钥在JSON中必须是唯一的。 – vasekhlav