'意外令牌'在json中调用外部文件时

时间:2014-05-21 18:37:37

标签: javascript json

我试图为新项目实施骨干。还安装了下划线,requirejs,jquery和bootstrap。总的来说,进展顺利。我想将一些静态调查问题数据合并到我的一个数据模型中。

{
    "defaultOptions": {
        "1": "Strongly Agree", 
        "2": "Somewhat Agree",
        "3": "Have Mixed Feelings",
        "4": "Somewhat Disagree",
        "5": "Strongly Disagree",
        "6": "Have No Opinion",
        "7": "Do Not Wish To Respond"
    },
    "questions": {
        "1": {
            "question": "Question 1",
            "options": {}
        },
        "2": {
            "question": "Question 2",
            "options": {}
        },
        "3": {
            "question": "Question 3",
            "options": {}
        },
        "4": {
            "question": "Question 4",
            "options": {}
        },
        "5": {
            "question": "Question 5",
            "options": {}
        }
    }
}

我目前无法访问我最终将用于构建此项目的数据API,因此我目前正在处理从此项目的上一次迭代中导出的一些虚拟数据(It&# 39; s为美国选举周期,因此它每年都会发生。我试图从我使用的内容模型中提取一些静态数据并将其放入一个单独的文件中,因此它不会让我感到困扰而且我不必担心无意中搞砸了。没什么大不了的吧?我没有跨越任何域,它们都存在于同一台服务器上。我有另一个数据集做同样的事情。我甚至通过http://www.jsoneditoronline.org/运行信息以确保它是有效的json。

那么问题是什么?我在chrome" Uncaught SyntaxError:Unexpected token中遇到此错误:在第2行和第34行;和FireFox中的这个错误' SyntaxError:缺失;在声明之前" defaultOptions":',指示符指向:defaultOptions之后。

我真的不知道为什么会这样。

我正在调用两个json文件,一个接着一个:

var survey = require('/elections/data/surveyQuestions.json');
var endorsements = require('/elections/data/endorsements.json');

endorsements.json文件(以及使用require调用的任何其他内容)都没有任何问题。这里仅供参考:

[
    "Abortion Rights Council",
    "AFL-CIO",
    "AFSCME",
    "American Federation of Teachers",
    "Building and Construction Trades Council",
    "DFL Feminist Caucus",
    "DFL Party",
    "Education Minnesota",
    "Freedom Club",
    "GOP Feminist Caucus",
    "Grassroots Party",
    "Green Party of Minnesota",
    "Independence Party",
    "Libertarian Party of Minnesota",
    "MAPE",
    "Minnesota Citizens Concerned for Life",
    "Minnesota Police and Peace Officers Association",
    "National Association of Social Workers",
    "Republican Party of Minnesota",
    "Sierra Club",
    "Stonewall DFL",
    "TakeAction Minnesota",
    "Taxpayers League of Minnesota",
    "Teamsters DRIVE",
    "United Auto Workers"
]

有没有人想过我错过了什么?

1 个答案:

答案 0 :(得分:2)

当你致电require()时,RequireJS期待一个AMD模块。您应该使用RequireJS text plugin来加载JSON等文本资源。另请查看此GitHub gist以获取一个专门解析JSON的插件,该插件基于文本插件构建。