6.81. kink/json/JSON_VAL

JSON値は、kink/json/JSONモジュールを使って、JSON文字列との間で変換できる値である。

JSON値は次の通り。

JSON null

JSON_VAL.null。

JSON true, false

trueとfalse。

JSON数値

num値。

JSON文字列

str値。

対になっていないサロゲートコードポイントは許容されるが、非推奨である。

JSON配列

JSON値を要素とするvec値。

JSONオブジェクト

キーがstr値で、その同値関係は==演算子で与えられて、値はJSON値であるようなmap値。

対になっていないサロゲートコードポイントをキーに使うことは許容されるが、非推奨である。

6.81.1. JSON_VAL.null

nullメソッドはJSONのnull値を戻す。

6.81.2. JSON_VAL.null?(Val)

null?は、ValがJSONのnull値であるかどうかを戻す。

事前条件

ValはJSON値でなければならない。

6.81.3. JSON_VAL.is?(Val)

is?は、ValがJSON値であるかどうかを戻す。

6.81.4. JSON_VAL.eq?(X Y)

eq?は、XとYが同値のJSON値であるかどうかを戻す。

同値性

eq?は、反射律、対称律、推移律を満たす同値関係である。

• JSON.nullはJSON.nullと同値である。

• trueはtrueと同値である。

• falseはfalseと同値である。

• ふたつのnum値は、==演算子がtrueを戻すときに同値である。

• ふたつのnum値は、==演算子がtrueを戻すときに同値である。

• ふたつのvec値は、同じ数の要素を持っていて、同じ添字の要素が同値であるときに同値である。

• ふたつのmap値は、キーの集合がstrの==演算子において等しい集合であり、等しいキーに対応するmapの値が同値であるときに同値である。

事前条件

XとYはJSON値でなければならない。