在json javascript中转换数组 - 相同的密钥

时间:2017-06-08 11:55:44

标签: javascript php json

我有一个PHP文件,其中我有一个文件夹的文件名,我的目标是将此数组输出为JSON。

我的数组看起来像这样:

Array ( 
    [0] => teste3.pdf 
    [1] => teste2.pdf 
    [2] => teste.pdf 
    [3] => .. 
    [4] => . 
)

我希望我的JSON结构如下:

{
    "Documents": [
        {
            "NameDoc": "teste3.pdf"
        },
        {
            "NameDoc": "teste2.pdf"
        },
        {
            "NameDoc": "teste.pdf"
        },
     ]
}

我尝试使用json_encode,但仅凭这一点并不能满足我的需求。

3 个答案:

答案 0 :(得分:1)

假设您的文件数组名为MyArr

const obj = {
  Documents: MyArr.map(file => ({ NameDoc: file }))
}

现在,您可以使用obj执行任何操作。

答案 1 :(得分:1)

let myArray = [
  'teste3.pdf',
  'teste2.pdf',
  'teste.pdf'
];
let obj = {
  Documents: myArray.map( item => ({ NameDoc: item }))
};
let jsonString = JSON.stringify(obj);

答案 2 :(得分:1)

如果您使用PHP创建数据,从源头解决问题是有意义的:

$arr = ['teste3.pdf', 'teste2.pdf', 'teste.pdf'];

$map = array_map(function($name){ 
    return ['NameDoc' => $name]; 
}, $arr);

echo json_encode([
    'Documents' => $map
]);

» Fiddle