节点J.S。在 json 对象中打印特定的 属性?
Node J.S. Printing a specific property in a json object?
好的,所以我正在尝试在此 json 对象中打印 trackName:https://pastebin.com/raw/KfEDtRPY。但我似乎无法找到合适的属性。我试着做:
console.log(res.text.results[0].trackName);
但它只是给了我这个错误:
TypeError: Cannot read property '0' of undefined
顺便说一句,为了得到 json 对象,我做了 console.log(res.text);
我似乎无法找到打印 JUST trackName 的正确方法。
提前致谢。
注意:如果有任何帮助,我正在使用 superagent。
typeof res.text为字符串,先借助JSON.parse(res.text)解析,然后访问
这样做,试试这个:
var jsonString = Json.parse(res.text)
console.log(jsonString.results[0].trackName)
- 您的 JSON 文件不完整(测试抛出了 JSON 输入错误的意外结束)。或者,另一种可能性是您的代码超时,因此请增加回调到 readfile (async) 的超时值(如果您正在使用它)
使用下面的代码,有效,经过测试。
var chai = require('chai'),expect = chai.expect,fs=require('fs');describe('Verifying a JSON value', function () { it('checks if tackname of index 0 is not undefined', function () {
var data=fs.readFileSync('./test/trex.json');
var jsonValue=JSON.parse(data);
var x=jsonValue.results[0].trackName;
console.log("jsonvalue "+x);
expect(x).equals("2U (feat. Justin Bieber)");
});
});
好的,所以我正在尝试在此 json 对象中打印 trackName:https://pastebin.com/raw/KfEDtRPY。但我似乎无法找到合适的属性。我试着做:
console.log(res.text.results[0].trackName);
但它只是给了我这个错误:
TypeError: Cannot read property '0' of undefined
顺便说一句,为了得到 json 对象,我做了 console.log(res.text);
我似乎无法找到打印 JUST trackName 的正确方法。
提前致谢。
注意:如果有任何帮助,我正在使用 superagent。
typeof res.text为字符串,先借助JSON.parse(res.text)解析,然后访问
这样做,试试这个:
var jsonString = Json.parse(res.text)
console.log(jsonString.results[0].trackName)
- 您的 JSON 文件不完整(测试抛出了 JSON 输入错误的意外结束)。或者,另一种可能性是您的代码超时,因此请增加回调到 readfile (async) 的超时值(如果您正在使用它)
使用下面的代码,有效,经过测试。
var chai = require('chai'),expect = chai.expect,fs=require('fs');describe('Verifying a JSON value', function () { it('checks if tackname of index 0 is not undefined', function () {
var data=fs.readFileSync('./test/trex.json');
var jsonValue=JSON.parse(data);
var x=jsonValue.results[0].trackName;
console.log("jsonvalue "+x);
expect(x).equals("2U (feat. Justin Bieber)");
});
});