2017-04-12 77 views
-1

任何人都可以请帮助我了解基于下面附加屏幕截图的语法错误吗?需要帮助了解节点JS语法错误

Syntax Error

我的脚本应该访问给定的JSON和返回的特定值,但不知何故,它返回这个错误。

编辑1

我测试我的脚本与虚拟JSON和脚本没有返回任何错误,所以我怀疑我原来的JSON可能给问题。这是我的JSON。

{ 
    "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/" 
} 

编辑2

这里是我的脚本,我运行产生错误。

var objects = require('./output.txt'); 
console.log(objects); 

output.txt是包含我编辑1

+0

我的意思是......'function(){{foo:1}'是无效的javascript。你有一个对象挂在那里 –

+0

欢迎来到Stack Overflow。请始终提供源代码,错误消息和其他文本信息作为内联纯文本而不是外部图片。文本是可搜索的,可重复使用,通常更易于阅读。 –

+0

@KevinB我编辑了我的问题,包括我原来的JSON。没有'function(){{foo:1}',我不知道它是如何显示在结果中的。 @ÁlvaroGonzález我想创建内嵌纯文本,但文本是太乱了,我给它正确地格式化,所以我决定附上截图代替,但我的名声不够高,我作为一个图片,而不是附加的附件。感谢您编辑我的问题。 –

回答

0
var objects = require('./output.txt'); 

该功能属于module loading system。尽管名称不同,它实际上可以加载多种类型的文件和目录,而不仅仅是节点模块。按照在文档中示出的high-level algorithm in pseudocode

require(X)

如果X始于 './' 或 '/' 或 '../'

一个。 LOAD_AS_FILE(Y + X)

[...]

LOAD_AS_FILE(X)

  1. 如果X是一个文件,负载X如JavaScript文本。 STOP
  2. 如果X.js是一个文件,请将X.js作为JavaScript文本加载。 STOP
  3. 如果X.json是一个文件,则将X.json解析为JavaScript对象。 STOP
  4. 如果X.node是一个文件,请将X.node加载为二进制附件。 STOP

既然你得到的SyntaxError,output.txt中不包含有效的JavaScript代码。

如果您确实想要加载JSON,您需要将文件重命名为output.json以强制执行第3小节。

0

由于@Jordan建议粘贴的JSON文件。错误确实是由于错误的文件扩展名。将文件扩展名从.txt更改为.json后,语法错误消失。