本文へ移動
Webstudio YAS
  • About
  • Price
  • Work
  • Blog
  • Contact
  • About
  • Price
  • Work
  • Blog
  • Contact
  1. ホーム
  2. Blog
  3. 【JavaScript】JSON.parse()でエラー(リテラルの不正な制御文字)

公開日: 2021.07.07

【JavaScript】JSON.parse()でエラー(リテラルの不正な制御文字)

【JavaScript】JSON.parse()でエラー(リテラルの不正な制御文字)

目次

  • 原因
  • 解決方法

とあるJSONファイルをJSON.parse()で読み込もうとしたところ、以下のようなエラーが出た。

Uncaught SyntaxError: JSON.parse: bad control character in string literal at line ○ column ○ of the JSON data

原因

JSONファイルに、改行コードなどの特殊文字が混入している。

コンソールやテキストエディタでは表示されないため原因がわかりにくい。

解決方法

JSON.parse()する前に、以下のようにして、改行コードなどの制御文字を取り除く。

let clean_jsonText = jsonText.replace(/[u0000-u0019]+/g, "");

以下のコードでもうまくいった。

let clean_jsonText = jsonText.replace(/[u0000-u001F]+/g, "");

上記の違いは、「u0000」から「u0019」までの制御文字を取り除くか「u001F」まで取り除くかの違い。

制御文字の一覧(参考)

Unicode の制御文字(U+0000〜U+001F)の一覧表

タグ

  • JSON
  • 制御文字

関連記事

2019.07.19

IEでonloadイベントがエラー(IDが定義されていません)の解決方法

IEでonloadイベントがエラー(IDが定義されていません)の解決方法

2023.01.29

PhotoSwipe v5 の使い方(最低限のコードで簡単実装)

PhotoSwipe v5 の使い方(最低限のコードで簡単実装)

2019.08.16

JavaScriptでウィンドウサイズを取得して全画面表示

JavaScriptでウィンドウサイズを取得して全画面表示
Webstudio YAS
  • About
  • Price
  • Work
  • Blog
  • Contact
YAS プロフィール画像

長野県長野市在住
WEBエンジニア YAS

LINKS

  • X
  • Instagram
  • GitHub
Design
  • スタンダード
  • 和モダン
  • エンジニア
  • 信州ナチュラル
プライバシーポリシー

@ Webstudio YAS