/ /なぜこのJSON.parseは「予期しないトークンは不正です」というエラーを返すのですか? -javascript

なぜこのJSON.parseは "予期しないトークンが不正です"というエラーを返しますか? - javascript

私はAJAXリクエストを使用しています。 JSONまたはそのいずれかのメソッドを使用するのは初めてです。 ajaxユーティリティは、リクエストするファイルのresponseTextまたはresponseXMLとしてonreadystatechangeコールバックに引数を返します。 info.txt そして request.responseText うまくいきますが、私がしようとすると info.js そして JSON.parse 構文が正しいことを複数回確認したときに、「Unexpected token ILLEGAL」が返されます。JSONは次のとおりです。

JSON:

{
first: 1,
second: 2
}

回答:

回答№1の11

JSON.parse() 文法が非常に厳格です。キー/値のペアの形式は次のとおりです。

string:value

したがって、「最初」と「2番目」はJSONオブジェクトの文字列でなければなりません。 JSONを次のコードに変更すると、正しいはずです

{
"first": 1,
"second": 2
}

回答№2のための5

すでに成功コールバックでjQueryを使用しているようです。 jQueryには、次のようなAJAXリクエストを実行するメソッドもあります $.ajax AJAXカスタム関数をほとんど役に立たなくする。あなたの場合、JSONとは異なるjavascriptファイル(.js)を要求しているようです。そう:

(function() {
$.getScript("json.js", function(result) {
// TODO: do something with the result
});
})();

または、JSONの場合:

(function() {
$.getJSON("json.js", function(result) {
// TODO: do something with the result
});
})();

これは、あなたはまだあなたの方法を使い続けることができると言われていますが、 JSON.parse(e) あなたの場合は常に失敗します json.js 有効なJSON文字列が含まれていません。有効なJSON文字列が含まれていることを確認するには、検証することができます http://jsonlint.com