コード日進月歩

しんくうの技術的な小話、メモ、つれづれ、など

JSONでエスケープする必要のある特殊な文字

JSONで改行を表現するときは \\n つまり \n\エスケープせよということなのだが、他にもエスケープする文字は何があるのかのメモ

出典

RFC 8259 - The JavaScript Object Notation (JSON) Data Interchange Format

対象の文字

  • "(ダブルコーテーション)』
  • \(バックスラッシュ)』
  • /(スラッシュ)』
  • \b(バックスペース)』
  • \f(改ページ)』
  • \n(改行)』
  • \r(キャリッジリターン)』
  • \t(バックスペース)』

余談

Railsなどはリクエストパラメータとして受け取ったときは勝手にデコードするし、レスポンスパラメータとしてJSON返すときは勝手にエンコードしてくれたりする。

ただし、iOS/Androidのネットワークライブラリだと、そこまでよしなにやってくれなかったりするので、気をつけること。

参考リンク