From c43ef332c9395963ad974bcf8850bdac79f7c55c Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Sat, 12 Jun 2021 03:10:39 +0900 Subject: Web/JavaScript/Reference/Errors/I-J* を更新 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 2021/06/11 時点の英語版に同期 --- .../reference/errors/json_bad_parse/index.html | 48 +++++++++++----------- 1 file changed, 24 insertions(+), 24 deletions(-) (limited to 'files/ja/web/javascript/reference/errors/json_bad_parse') diff --git a/files/ja/web/javascript/reference/errors/json_bad_parse/index.html b/files/ja/web/javascript/reference/errors/json_bad_parse/index.html index 1f1af72e0e..6115bfd192 100644 --- a/files/ja/web/javascript/reference/errors/json_bad_parse/index.html +++ b/files/ja/web/javascript/reference/errors/json_bad_parse/index.html @@ -2,20 +2,20 @@ title: 'SyntaxError: JSON.parse: bad parsing' slug: Web/JavaScript/Reference/Errors/JSON_bad_parse tags: - - Error - - Errors - - JSON - - JavaScript - - SyntaxError +- Error +- Errors +- JSON +- JavaScript +- SyntaxError translation_of: Web/JavaScript/Reference/Errors/JSON_bad_parse ---
{{jsSidebar("Errors")}}

JavaScript の例外で、 {{jsxref("JSON.parse()")}} が文字列を JSON として解釈するのに失敗した場合に発生します。

-

メッセージ

+

メッセージ

-
SyntaxError: JSON.parse: unterminated string literal
+
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
@@ -48,21 +48,21 @@ 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)
-

エラー種別

+

エラー種別

{{jsxref("SyntaxError")}}

-

エラーの原因

+

エラーの原因

{{jsxref("JSON.parse()")}} は文字列を JSON として解釈します。この文字列は妥当な JSON であるべきであり、不正確な構文に出会った場合、このエラーが発生します。

-

+

-

JSON.parse() は末尾のカンマを許容しない

+

JSON.parse() は末尾のカンマを許容しない

どちらの行でも SyntaxError が発生します。

-
JSON.parse('[1, 2, 3, 4,]');
+
JSON.parse('[1, 2, 3, 4,]');
 JSON.parse('{"foo": 1,}');
 // SyntaxError JSON.parse: unexpected character
 // at line 1 column 14 of the JSON data
@@ -70,26 +70,26 @@ JSON.parse('{"foo": 1,}');
 
 

末尾のカンマを省略すると、正しく JSON として解釈します。

-
JSON.parse('[1, 2, 3, 4]');
+
JSON.parse('[1, 2, 3, 4]');
 JSON.parse('{"foo": 1}');
-

プロパティ名は二重引用符で囲んだ文字列でなければならない

+

プロパティ名は二重引用符で囲んだ文字列でなければならない

-

プロパティの周囲を囲むのに、たとえば'foo' のように単一引用符を使用してはいけません。

+

プロパティを囲むのに、たとえば 'foo' のように単一引用符を使用してはいけません。

-
JSON.parse("{'foo': 1}");
+
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}');
+
JSON.parse('{"foo": 1}');
-

先頭のゼロと小数点

+

先頭のゼロと小数点

01 のような先頭の 0 は使用できません。また、小数点の後には少なくとも 1 桁以上が続かなければなりません。

-
JSON.parse('{"foo": 01}');
+
JSON.parse('{"foo": 01}');
 // SyntaxError: JSON.parse: expected ',' or '}' after property value
 // in object at line 1 column 2 of the JSON data
 
@@ -100,14 +100,14 @@ JSON.parse('{"foo": 1.}');
 
 

0 を除いて 1 だけを書いてください。また、小数点の後には少なくとも 1 桁の数字を置いてください。

-
JSON.parse('{"foo": 1}');
+
JSON.parse('{"foo": 1}');
 JSON.parse('{"foo": 1.0}');
 
-

関連情報

+

関連情報

    -
  • {{jsxref("JSON")}}
  • -
  • {{jsxref("JSON.parse()")}}
  • -
  • {{jsxref("JSON.stringify()")}}
  • +
  • {{jsxref("JSON")}}
  • +
  • {{jsxref("JSON.parse()")}}
  • +
  • {{jsxref("JSON.stringify()")}}
-- cgit v1.2.3-54-g00ecf