[英]How to get object from json file in node.js?
i've been looking for this for quite some time and couldn't really find anything. 我已经找了很长时间了,真的找不到任何东西。 Most guides/doc assumes i am using same app but this is not a case.
大多数指南/文档都假定我正在使用同一应用程序,但事实并非如此。 So i have made node.js api with test call GET api.raidcore.xyz/items which returns an array as you'd expected:
Javascript {"data":[{"_id":"5834551dfa44228b52645f43","itemDesc":"lorem ipsum dolor sit amet","itemName":"test item","__v":0}]}
Now what i want to do is display jst itemName to make list or whatever. 因此,我通过测试调用GET api.raidcore.xyz/items制作了node.js api,该API返回了您期望的数组:
Javascript {"data":[{"_id":"5834551dfa44228b52645f43","itemDesc":"lorem ipsum dolor sit amet","itemName":"test item","__v":0}]}
现在,我要显示的是显示jst itemName以便进行列表或其他操作。
res.on('data', function(data){
var json = json.parse(data);
let name = json.itemName;
console.log(name);
}
returns undefined object. 返回未定义的对象。 if i log data alone, it displays everything ok.
如果我仅记录数据,则显示一切正常。 So how do i actually select what i want to show?
那么我该如何实际选择要显示的内容呢?
You are using the same var name for json var json = json.parse(data);
您正在为json使用相同的var名称
var json = json.parse(data);
you should be using a different name ie parsedJson or something like that, you should also use JSON.pase if you intend to use the code in a case sensitive OS 您应该使用其他名称,例如parsedJson或类似的名称,如果您打算在区分大小写的OS中使用代码,则还应该使用JSON.pase
Your data looks like this: 您的数据如下所示:
{
"data": [
{
"_id": "5834551dfa44228b52645f43",
"itemDesc": "lorem ipsum dolor sit amet",
"itemName": "test item",
"__v": 0
}
]
}
Your JSON object has one property called data
. 您的JSON对象具有一个称为
data
属性。
data
is an array with one element. data
是具有一个元素的数组。
That element is a object with four parameters. 该元素是具有四个参数的对象。
So the values you want are available like this: 因此,所需的值可用如下所示:
let data = '{"data":[{"_id":"5834551dfa44228b52645f43","itemDesc":"lorem ipsum dolor sit amet","itemName":"test item","__v":0}]}';
let json = JSON.parse(data);
let name = json.data[0].itemName;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.