JSON 構文クイズ

Slide 解説 それぞれの問題の解説を軽くしていきます。今回参考にしたのは以下の仕様です。json.org よりも以下のサイトの方が分かりやすかったのです。 https://www.crockford.com/mckeeman.html 1 問目 オブジェクト型の最後の値の後にはカンマが付かないという問題です。初めて JSON を触ったばかりの頃に一度はやったことがあるミスだと思います。 仕様書の抜粋は以下です。 object '{' ws '}' '{' members '}' members member member ',' members 以上の定義より、最後にカンマがつかないことが分かると思います。仕様書で見ると普通ですが、実際に書くとむかつく定義だと思います。以下だったら最後にカンマいけたのに… members member ',' member ',' members 2 問目 オブジェクト型の各宣言の間に改行は入るか?という問題です。これは、空白の宣言に改行が入っていることを知っていれば簡単な問題です。 オブジェクトの member 定義は以下のようになっています。 member ws string ws ':' element element ws value ws ws "" '0020' ws '000A' ws '000D' ws '0009' ws 000A が改行にあたるため、改行がいくあらあっても問題ないことがわかります。 3 問目 数字型がどのような表現が可能か?という問題でした。数字型に関する構文木はちょっと面倒です。 number integer fraction exponent integer digit onenine digits '-' digit '-' onenine digits digits digit digit digits digit '0' onenine onenine '1' ....

2020/12/21(作成日) · 2022/09/26(更新日)