【问题标题】:how to Convert JavaScript array (without object name) into json (with object name)?如何将 JavaScript 数组(不带对象名称)转换为 json(带对象名称)?
【发布时间】:2021-09-06 06:58:50
【问题描述】:

我正在使用 ajax 查询读取本地 csv 文件,然后将读取的值加载到数组中。

这是字符串值在 csv 文件中的样子:

"Tiger","Architect","800","DRP","5421","VFX"

将此字符串加载到数组后,数组如下所示:

0: (6) ["Tiger", "Architect", "800", "DRP", "5421", "VFX"]

现在我正在尝试将上面提到的 sting 转换为 json 对象,如下所示:

{
    "data": [
    {
    "0": "Tiger",
    "1": "Architect",
    "2": "800",
    "3": "DRP",
    "4": "5421",
    "5": "VFX"
    }]
}

将所有值都放在一个对象data

我试过了:

  var arrayToString = JSON.stringify(Object.assign({}, data1)); 
  var stringToJsonObject =  JSON.parse (arrayToString) ; 

它将数组转换为 json,但使用 length 6 我需要长度为 1

有什么办法吗?

【问题讨论】:

  • data 是一个数组,对象在位置 0

标签: javascript arrays json


【解决方案1】:

您可以使用Object.entriesObject.fromEntries 来做到这一点。

const arr = ["Tiger", "Architect", "800", "DRP", "5421", "VFX"];

const result = {data: []};

result.data.push(Object.fromEntries(Object.entries(arr)));

console.log(result);

【讨论】:

    【解决方案2】:

    当你创建对象时,我认为你几乎已经完成了所有工作 - 只需将数组包装在 []

    const arr = ["Tiger", "Architect", "800", "DRP", "5421", "VFX"];
        
    var arrayToString = JSON.stringify(Object.assign({}, [arr])); 
    var stringToJsonObject =  JSON.parse (arrayToString) ; 
    
    console.log(stringToJsonObject);
    

    【讨论】:

    • 如果 csv 中只有一行,或者一个值数组,它可以完美运行,但是当有多个行或数组时,它似乎不起作用?
    猜你喜欢
    • 1970-01-01
    • 2020-02-02
    • 1970-01-01
    • 1970-01-01
    • 2023-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-18
    相关资源
    最近更新 更多