为键和值对构建一个 JSON 结构,其中每个项目的键都会发生变化?
Build a JSON structure for key and value pairs, where the keys changes for each item?
我正在使用 SweetAlert2,我需要为此创建将填充到 select 框中的选项。我知道我可以为此使用 "inputOptions" 字段,但是,我查看了他们下面的示例(来自他们的网站):
inputOptions: {
'SRB': 'Serbia',
'UKR': 'Ukraine',
'HRV': 'Croatia'
},
现在,如果您拥有一组固定的硬编码数据,那就太好了。但是,在我的用例中,我需要能够从数据库中提取这些内容,而我的 API 已经通过 REST 端点完成了该操作,假设我在以下结构中将其取回:
[
{"key": "SRB", "value":"Serbia"},
{"key": "UKR", "value":"Ukraine"},
{"key": "SRB", "value":"Croatia"}
]
有没有简单的方法将底部格式转换为顶部格式?
我尝试遍历它,为每个创建一个 var,如下所示:
var items = JSON.parse(listFromAPI);
for (var item in items)
{
var test = { item.key : item.value };
}
但这似乎不起作用?我真的需要一些帮助。
提前致谢!
你能试试这个吗:
var items = JSON.parse(listFromAPI);
for (var item in items)
{
var test = { items[item].key : items[item].value };
}
而不是
var items = JSON.parse(listFromAPI);
for (var item in items)
{
var test = { item.key : item.value };
}
尝试使其尽可能接近您现有的代码。
您可以遍历基础对象并根据需要创建输入选项:
var base_format = [
{"key": "SRB", "value":"Serbia"},
{"key": "UKR", "value":"Ukraine"},
{"key": "HRV", "value":"Croatia"}
];
var inputOptions = {};
for (item of base_format)
inputOptions[item.key] = item.value;
console.log(inputOptions);
我正在使用 SweetAlert2,我需要为此创建将填充到 select 框中的选项。我知道我可以为此使用 "inputOptions" 字段,但是,我查看了他们下面的示例(来自他们的网站):
inputOptions: {
'SRB': 'Serbia',
'UKR': 'Ukraine',
'HRV': 'Croatia'
},
现在,如果您拥有一组固定的硬编码数据,那就太好了。但是,在我的用例中,我需要能够从数据库中提取这些内容,而我的 API 已经通过 REST 端点完成了该操作,假设我在以下结构中将其取回:
[
{"key": "SRB", "value":"Serbia"},
{"key": "UKR", "value":"Ukraine"},
{"key": "SRB", "value":"Croatia"}
]
有没有简单的方法将底部格式转换为顶部格式?
我尝试遍历它,为每个创建一个 var,如下所示:
var items = JSON.parse(listFromAPI);
for (var item in items)
{
var test = { item.key : item.value };
}
但这似乎不起作用?我真的需要一些帮助。
提前致谢!
你能试试这个吗:
var items = JSON.parse(listFromAPI);
for (var item in items)
{
var test = { items[item].key : items[item].value };
}
而不是
var items = JSON.parse(listFromAPI);
for (var item in items)
{
var test = { item.key : item.value };
}
尝试使其尽可能接近您现有的代码。
您可以遍历基础对象并根据需要创建输入选项:
var base_format = [
{"key": "SRB", "value":"Serbia"},
{"key": "UKR", "value":"Ukraine"},
{"key": "HRV", "value":"Croatia"}
];
var inputOptions = {};
for (item of base_format)
inputOptions[item.key] = item.value;
console.log(inputOptions);