任何人都可以帮我理解基于下面附带屏幕截图的语法错误吗?
我的脚本应该访问给定的JSON并返回特定的值,但不知怎的,它会返回此错误。
修改1
我使用虚拟JSON测试了我的脚本,并且脚本没有返回任何错误,所以我怀疑我原来的JSON可能会出问题。这是我的JSON。
AvaSpec
修改2
这是我运行的脚本会产生错误。
Application.Run
{
"og_object": {
"id": "1192199560899293",
"description": "Hi everyone I have an important announcement to make. So ever since Penny started school, I've been having mixed feelings. \u00a0Besides having a bit of space to myself to breathe and rest my brain/legs, I'm actually a bit bittersweet cos my little baby, who used to sleep at weird hours and gobble puree",
"title": "Fighter and Penny's new sibling",
"type": "article",
"updated_time": "2017-04-12T01:17:57+0000"
},
"share": {
"comment_count": 0,
"share_count": 109
},
"id": "http://fourfeetnine.com/2017/03/05/fighter-and-pennys-new-sibling/"
}
是包含我在编辑1
答案 0 :(得分:0)
感谢@Jordan建议。错误确实是由于错误的文件扩展。将文件扩展名从.txt
更改为.json
后,语法错误消失了。
答案 1 :(得分:0)
var objects = require('./output.txt');
require()
函数属于module loading system。尽管名称,它实际上可以加载几种类型的文件和目录,而不仅仅是节点模块。根据文档中显示的high-level algorithm in pseudocode:
require(X)
如果X以' ./'开头;或者' /'或' ../ 39;
一个。 LOAD_AS_FILE(Y + X)
[...]
LOAD_AS_FILE(X)
- 如果X是文件,将X加载为JavaScript文本。 STOP
- 如果X.js是文件,请将X.js作为JavaScript文本加载。 STOP
- 如果X.json是一个文件,请将X.json解析为JavaScript对象。 STOP
- 如果X.node是文件,请将X.node加载为二进制插件。 STOP
醇>
由于您获得 SyntaxError ,因此output.txt不包含有效的JavaScript代码。
如果您确实要加载JSON,则需要通过将文件重命名为output.json
来强制执行第3项。