HTML: Markup language
CSS: Styling language
JavaScript: Scripting language
Web APIs: Programming interfaces
All web technology
Learn web development
Discover our tools
Get to know MDN better
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
View in English Always switch to English
JavaScript の例外で、 JSON.parse() が文字列を JSON として解釈するのに失敗した場合に発生します。
JSON.parse()
SyntaxError: JSON.parse: unterminated string literal SyntaxError: JSON.parse: bad control character in string literal SyntaxError: JSON.parse: bad character in string literal SyntaxError: JSON.parse: bad Unicode escape SyntaxError: JSON.parse: bad escape character SyntaxError: JSON.parse: unterminated string SyntaxError: JSON.parse: no number after minus sign SyntaxError: JSON.parse: unexpected non-digit SyntaxError: JSON.parse: missing digits after decimal point SyntaxError: JSON.parse: unterminated fractional number SyntaxError: JSON.parse: missing digits after exponent indicator SyntaxError: JSON.parse: missing digits after exponent sign SyntaxError: JSON.parse: exponent part is missing a number SyntaxError: JSON.parse: unexpected end of data SyntaxError: JSON.parse: unexpected keyword SyntaxError: JSON.parse: unexpected character SyntaxError: JSON.parse: end of data while reading object contents SyntaxError: JSON.parse: expected property name or '}' SyntaxError: JSON.parse: end of data when ',' or ']' was expected SyntaxError: JSON.parse: expected ',' or ']' after array element SyntaxError: JSON.parse: end of data when property name was expected SyntaxError: JSON.parse: expected double-quoted property name SyntaxError: JSON.parse: end of data after property name when ':' was expected SyntaxError: JSON.parse: expected ':' after property name in object SyntaxError: JSON.parse: end of data after property value in object SyntaxError: JSON.parse: expected ',' or '}' after property value in object SyntaxError: JSON.parse: expected ',' or '}' after property-value pair in object literal SyntaxError: JSON.parse: property names must be double-quoted strings SyntaxError: JSON.parse: expected property name or '}' SyntaxError: JSON.parse: unexpected character SyntaxError: JSON.parse: unexpected non-whitespace character after JSON data SyntaxError: JSON.parse Error: Invalid character at position {0} (Edge)
SyntaxError
JSON.parse() は文字列を JSON として解釈します。この文字列は妥当な JSON であるべきであり、不正確な構文に出会った場合、このエラーが発生します。
どちらの行でも SyntaxError が発生します。
JSON.parse("[1, 2, 3, 4,]"); JSON.parse('{"foo": 1,}'); // SyntaxError JSON.parse: unexpected character // at line 1 column 14 of the JSON data
末尾のカンマを省略すると、正しく JSON として解釈します。
JSON.parse("[1, 2, 3, 4]"); JSON.parse('{"foo": 1}');
プロパティを囲むのに、たとえば 'foo' のように単一引用符を使用してはいけません。
JSON.parse("{'foo': 1}"); // SyntaxError: JSON.parse: expected property name or '}' // at line 1 column 2 of the JSON data
代わりに "foo" と書いてください。
JSON.parse('{"foo": 1}');
01 のような先頭の 0 は使用できません。また、小数点の後には少なくとも 1 桁以上が続かなければなりません。
JSON.parse('{"foo": 01}'); // SyntaxError: JSON.parse: expected ',' or '}' after property value // in object at line 1 column 2 of the JSON data JSON.parse('{"foo": 1.}'); // SyntaxError: JSON.parse: unterminated fractional number // at line 1 column 2 of the JSON data
0 を除いて 1 だけを書いてください。また、小数点の後には少なくとも 1 桁の数字を置いてください。
JSON.parse('{"foo": 1}'); JSON.parse('{"foo": 1.0}');
JSON
JSON.stringify()