我正在尝试从JSON文件中转换数据,该文件如下所示:
[
{
"name": "Michael",
"age": "30",
"brithday": "11/10/1989",
}
]..... more data following
对于一个类似于这样的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数据转换成这种数组吗?
发布于 2022-08-18 09:47:15
如果您已经将文件内容作为JavaScript字符串(我根据您的问题假设),您可以只使用JSON.parse()
。它将根据需要将JSON解析为一个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
,可以这样做:
textArray.forEach(element => {
element.birthdate = element.birthday;
delete element.birthday; // Just "cleaning up"
})
发布于 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 + "]"; }
的
第二步
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
都是这样的人。
https://stackoverflow.com/questions/73400619
复制相似问题