HTTP・Web 基礎4 択難易度 応用

この JSON への指摘として正しいものは?

{  "id": 7,  "msg": "say "hi" now",   "ok": true}

正答

  1. 4 行目の true もダブルクォートで囲む必要がある
  2. 文字列にはスペースを含められない
  3. 文字列中の " を \" とエスケープしていない
  4. 数値 7 の後ろのカンマは不要

解説

JSON の文字列はダブルクォートで始まりダブルクォートで終わるため、文字列の中に " をそのまま書くとそこで文字列が終わったと解釈され、続く hi が不正なトークンになる。文字列内で使うには \" とバックスラッシュでエスケープする。true はクォート無しの真偽値で正しく、文字列中のスペースも問題ない。利用者の入力を文字列連結して JSON を組むとこの問題が起きるので、ライブラリで生成する。

参考: www.json.org

jsonsyntaxescape

この問題を含む HTTP・Web 基礎 のテストを制限時間つきで解く

HTTP・Web 基礎クイズへ