このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

Simple API for XJSON

SAX風にXJSONデータにアクセスする。まったくsimple。start/endDataは要らないかもな。

コールバック関数 説明
startData() ファイルなどのストリームの開始
endtData() ストリームの終り
numberValue(num) 数値
stringValue(str) 文字列
booleanValue(flag) ブール値
nullValue() null値
binaryValue(bin) バイナリ値(Caty拡張)
tag(tagName) タグ(Caty拡張)
startObject() オブジェクの開始
property(name) プロパティの開始
endObject() オブジェクの終了
startArray() 配列の開始
endArray() 配列の終了

Xion/Java:構文イベント・インターフェース - 檜山正幸のキマイラ飼育記 (はてなBlog)と基本的には同じだが:

  1. タグ出現を独立イベントとして構文の自由度を上げた。
  2. keyをpropertyにした(リネーム)。
  3. integerValueとdecimalValueをnumberValueに統合。
  4. atomicValueをbooleanValueとnullValueに分けた。

いつもの例:

@person {
"name" : "坂東トン吉",
"age" : @age 26,
"hobbies" : ["釣り", "盆栽"]
}

  1. tag("person")
  2. startObject()
  3. property("name")
  4. stringValue("坂東トン吉")
  5. property("age")
  6. tag("age")
  7. numberValue(26)
  8. property("hobbies")
  9. startArray()
  10. stringValue("釣り")
  11. stringValue("盆栽")
  12. endArray()
  13. endObject()

XJSON - JSON

http://d.hatena.ne.jp/m-hiyama/20100616/1276648245 に投稿してしまったが、本来はコッチの記事。

表面的な拡張:

  1. コメント(保存されない)
  2. 余分なカンマ
  3. 三重引用符

構造的な拡張:

  1. タグ
  2. 組み込みのバイナリー型 {"$data" : "image/jpeg;base64, ..."}
  3. ハイパーリンク(未定){"$ref" : "http://d.hatena.ne.jp/", "$rel" : "top"}

マーシャリング:

  • コメントを除いて、すべての拡張部分は情報欠損無しで通常JSONに変換出来る。

コメントは削除されるので、もとに戻せない。