首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将数据从JSON文件转换为JavaScript数组?

将数据从JSON文件转换为JavaScript数组?
EN

Stack Overflow用户
提问于 2022-08-18 09:30:43
回答 2查看 110关注 0票数 -3

我正在尝试从JSON文件中转换数据,该文件如下所示:

代码语言:javascript
运行
复制
        [
       {
          "name": "Michael",
          "age": "30",
          "brithday": "11/10/1989",
       
       }
]..... more data following

对于一个类似于这样的JavaScript:

代码语言:javascript
运行
复制
var myArray = [
    {'name':'Michael', 'age':'30', 'birthdate':'11/10/1989'},
    {'name':'Mila', 'age':'32', 'birthdate':'10/1/1989'},
    {'name':'Paul', 'age':'29', 'birthdate':'10/14/1990'},
    {'name':'Dennis', 'age':'25', 'birthdate':'11/29/1993'},
    {'name':'Tim', 'age':'27', 'birthdate':'3/12/1991'},
    {'name':'Erik', 'age':'24', 'birthdate':'10/31/1995'},
]

你知道如何将JSON数据转换成这种数组吗?

EN

回答 2

Stack Overflow用户

发布于 2022-08-18 09:47:15

如果您已经将文件内容作为JavaScript字符串(我根据您的问题假设),您可以只使用JSON.parse()。它将根据需要将JSON解析为一个JavaScript对象数组。

下面是一个例子:

代码语言:javascript
运行
复制
var text=`[
    {
        "name": "Michael",
        "age": "30",
        "birthday": "11/10/1989"
    },
    {
        "name": "Francine",
        "age": "38",
        "birthday": "03/12/1981"
    }
]`;

var textAsArray = JSON.parse(text);

console.log(textAsArray); // Will print the object array you asked for
console.log(textAsArray[1].age); // Will print 38

console.log语句的存在仅仅是为了向您展示它的工作原理。

如果需要将birthday重命名为birthdate,可以这样做:

代码语言:javascript
运行
复制
textArray.forEach(element => {
    element.birthdate = element.birthday;
    delete element.birthday; // Just "cleaning up"
})
票数 0
EN

Stack Overflow用户

发布于 2022-08-18 09:53:20

我遇到了您的问题,您在javascript中所面临的问题,以及它们的对象,在我看来,您有一些将数据从JSON文件转换为数组的方法,

第一步-

首先,您要做的是使用方法将JSON字符串转换为Javascript,并获取该对象的所有值,并使用for循环.将其按下。

具有代码演示var up = document.getElementById("GFG\_UP"); var JS\_Obj = '{"prop\_1":"val\_1", "prop\_2":"val\_2", "prop\_3" : "val\_3"}'; up.innerHTML = "JSON string - '" + JS\_Obj + "'"; var down = document.getElementById("GFG\_DOWN"); function myGFG() { var obj = JSON.parse(JS\_Obj); var res = []; for(var i in obj) res.push(obj[i]); down.innerHTML = "Array of values - [" + res + "]"; }

第二步

  • 这种方法也是一样的,但是使用了不同的方法。使用JavaScript方法将JSON字符串转换为eval()对象,然后取出对象的值并使用push()方法.

将其推送到数组中。

  • 通过代码演示。var up = document.getElementById("GFG\_UP"); var JS\_Obj = '{"prop\_1":"val\_1", "prop\_2":"val\_2", "prop\_3" : "val\_3"}'; up.innerHTML = "JSON string - '" + JS\_Obj + "'"; var down = document.getElementById("GFG\_DOWN"); function myGFG() { var obj = eval('(' + JS\_Obj + ')'); var res = []; for(var i in obj) res.push(obj[i]); down.innerHTML = "Array of values - [" + res + "]"; }

使用这些方法,它将解决您的问题,如果您使用HTML.但,

如果您正在使用框架,那么您将不得不使用fs.readFile()和node.js中的其他文件系统算法。

在这里,您可以了解- https://nodejs.dev/learn

都是这样的人。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73400619

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档