| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
rfc.json - JSONのパーズと構築RFC4627で規定される、JSON形式をパーズしてS式に直す手続きと、 S式をJSON形式に変換する手続きが提供されます。
パーズ手続きparse-jsonとparse-json-stringは、
無効なJSON構文に出会った時にこのコンディションを投げます。
<error>を継承し、次のスロットを追加で持ちます。
エラーが起きた入力位置(文字数)。
JSON表記をinput-port (省略された場合はcurrent-input-port)から
読み込みパーズして、結果をS式で返します。
パーズエラーが起きた場合は<json-parse-error>コンディションを投げます。
下のテーブルに、JSONのデータ型がどのようにSchemeにマップされるかを示します。 (将来は、このマッピングをカスタマイズできるようにするかもしれません。)
true, false, nullシンボルtrue, false and null。
Schemeのベクタ。
Schemeの連想リスト。キーは文字列で、値はSchemeオブジェクト。
Schemeの不正確な実数。
Schemeの文字列。
文字列strをJSONとしてパーズし、結果をS式で返します。
パーズエラーが起きた場合は<json-parse-error>コンディションを投げます。
JSONのデータ型とSchemeの型とのマッピングについては上のparse-json
を参照してください。
construct-jsonとconstruct-json-stringは、
JSONに変換できないSchemeオブジェクトを見つけるとこのコンディションを投げます。
<error>を継承し、次のスロットを追加で持ちます。
JSON表現に変換できなかったSchemeオブジェクト。
SchemeオブジェクトobjのJSON表現を作ります。
construct-jsonは結果をoutput-portに書き出します。デフォルトは
current-output-portです。construct-json-stringは結果を文字列で返します。
RFC4627はJSONテキストはobjectかarrayであると定めているので、
objはJSONオブジェクトかJSON配列へと変換できるSchemeオブジェクト
でなければなりません。
objがJSONにマップできないオブジェクトを含んでいた場合は
<json-consturct-error>コンディションが投げられます。
JSONとScheme間のマッピングについては上のparse-jsonのエントリを
参照してください。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] |
This document was generated by Shiro Kawai on May 9, 2012 using texi2html 1.82.