๋ฉ์์ง
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
์๋ฌ ํ์
๋ญ๊ฐ ์๋ชป๋ฌ๋์?
JSON.parse() ๋ ๋ฌธ์์ด์ JSON์ผ๋ก ํ์ฑํ๋ค. ์ด ๋ฌธ์์ด์ ์ ํจํ JSON ํํ์ ๋ฌธ์์ด์ด์ด์ผ ํ๋ฉฐ, ์ ํจํ์ง ์์ ๊ฒฝ์ฐ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
์์
JSON.parse() ๋ ์ฌ๋ถ์ ์ฝค๋ง๋ฅผ ํ์ฉํ์ง ์๋๋ค.
๋ค์ ๋ ์ค์ 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 ์ฒ๋ผ ๋ฆฌ๋ฉ์ ๋ก๋ฅผ ์ฌ์ฉํ ์ ์๊ณ , ์ญ์ง ์์์ ๋ค์๋ ์ต์ํ ํ๋์ ์ซ์๋ ๋ฑ์ฅํด์ผ ํ๋ค.
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
๋์ ์ ๋ฆฌ๋ฉ์ ๋ก๋ฅผ ์์ ๊ณ 1 ์ด๋ผ๊ณ ์ฐ๊ณ , ์ญ์ง ์์์ ๋ค์๋ ๋ฐ๋์ ํ๋ ์ด์์ ์ซ์๋ฅผ ์ ๋๋ก ํ๋ค:
JSON.parse('{"foo": 1}');
JSON.parse('{"foo": 1.0}');