我试图改变我的数据,使得我的对象的每个元素都有自己的密钥。我认为我的问题相当容易,但我还没想办法如何做到这一点。
我的数据现在安排的方式:
[
{
"country name": "Qatar",
"GDP": "140,649.2",
"country code": "QAT"
},
{
"country name": "MacaoSAR,China",
"GDP": "139,767.3",
"country code": "LUX"
},
...
我希望我的数据安排方式:
data: {
'QAT': {
"country name": "Qatar",
"GDP": "140,649.2",
},
'LUX': {
"country name": "MacaoSAR,China",
"GDP": "139,767.3",
},
...
请不要介意不同的键值对。我纯粹对如何在{}
括号中给出我的值一个关键值感兴趣,如第二个例子所示。
答案 0 :(得分:1)
您可以将其作为对象而不是像这样的数组发送......
float(input())
答案 1 :(得分:1)
非重复node = Capybara.string(the_html.to_s)
密钥的解决方案:
"country code"
输出:
var arr = [ // exemplary array
{
"country name": "Qatar",
"GDP": "140,649.2",
"country code": "QAT"
},
{
"country name": "MacaoSAR,China",
"GDP": "139,767.3",
"country code": "LUX"
}
], rearranged = {};
arr.forEach(function(obj){
var info = {};
Object.keys(obj).forEach((k) => k === "country code" || (info[k] = obj[k]));
rearranged[obj["country code"]] = info;
});
console.log(JSON.stringify(rearranged, 0, 4));
答案 2 :(得分:0)
这将是一个问题,密钥需要在JSON中是唯一的,例如案例键可能会重复,因此您在解析时可能会丢失一些数据,很适合使用当前结构或者您可以使用数字作为键。