Mysql 我如何用{quot;id";:“value";}而不是{quot;col1";:“id";,“col2:value";}显示json对象

Mysql 我如何用{quot;id";:“value";}而不是{quot;col1";:“id";,“col2:value";}显示json对象,mysql,json,Mysql,Json,因此,我正在使用一个名为ft_maintableft_lang的数据库创建一个多语言站点,其中包含两列:id,en 使用JSON,我可以显示数据库中的JSON对象,如下所示: {"id":"1","en":"First translation"}, {"id":"2","en":"Second translation"}, {"id":"3","en":"Third translation"}, ... {"1":"First translation"}, {"2":"Second trans

因此,我正在使用一个名为
ft_main
table
ft_lang
的数据库创建一个多语言站点,其中包含两列:id,en

使用JSON,我可以显示数据库中的JSON对象,如下所示:

{"id":"1","en":"First translation"},
{"id":"2","en":"Second translation"},
{"id":"3","en":"Third translation"},
...
{"1":"First translation"},
{"2":"Second translation"},
{"3":"Third translation"},
...
但是languages.js不会使用上述对象格式运行,它将使用以下格式运行:

{"id":"1","en":"First translation"},
{"id":"2","en":"Second translation"},
{"id":"3","en":"Third translation"},
...
{"1":"First translation"},
{"2":"Second translation"},
{"3":"Third translation"},
...

那么,如何使用JSON从我的数据库中显示具有上述格式的对象呢?

您只需遍历数组并创建一个新数组,如下所示:

{"id":"1","en":"First translation"},
{"id":"2","en":"Second translation"},
{"id":"3","en":"Third translation"},
...
{"1":"First translation"},
{"2":"Second translation"},
{"3":"Third translation"},
...
var数据=[
{“id”:“1”,“en”:“第一次翻译”},
{“id”:“2”,“en”:“第二次翻译”},
{“id”:“3”,“en”:“第三翻译”}];
var newData=[];
data.forEach(功能(obj){
var newObj={};
newObj[obj.id]=obj.en;
newData.push(newObj);
});

console.log(newData)您可以使用
map
简化代码:

var数据=[
{“id”:“1”,“en”:“第一次翻译”},
{“id”:“2”,“en”:“第二次翻译”},
{“id”:“3”,“en”:“第三翻译”}];
var newData=data.map(obj=>({[obj.id]:obj.en}));

console.log(newData)不要认为你可以,因为你想要的格式不是JSON。你用你需要的方式创建JSON有什么问题?只需使用一列作为键,另一列作为值,而不是将它们放在单独的属性中。你确定你的意思不是
{“1”:“First”,“2”:“Second”,…}
?@Barmar是的,我希望它们是分开的,而不是在1对象中。我举个例子,我的数据库中有“id”列作为键,其余是值