JSON 便利ですけど、
JSONって便利なんですけど、JSONの一部を切り出してもJSONにならないんですよね。
とくに関数を抜いたデータだけと考えると、JSONって便利なのかなぁって思うようになった。
{ "user" : [ { "name" : "takuya", "age" : "19" }, { "name" : "mirai" , "age" : "17" }, { "name" : "tsurai" , "age" : "39" } ] }
ここから、適当に切り出したら、
[ { name: "takuya", age: "19" }, // このカンマ邪魔! ]
なので、JSONを手作業で編集や String#+ で作るのは結構面倒だったりする。
結局JSONパッケージに頼ることになる。
XML は何処を切り出してもXML
本当に金太郎飴になるのはXMLなのです。
<?xml encoding='utf-8' ?> <user> <name>takuya</name><age>19</age> <name>mirai</name><age>17</age> <name>tsurai</name><age>39</age> <name>mari</name><age>14</age> </user>
ダブルクオーテーションとかいらないし、この方が圧倒的に書くのが楽。
ここから切り出しても
<name>mari</name><age>14</age>
切り出した単体もチャントXMLとして認識できる。
XMLってやっぱり便利じゃん。面倒なのはパースだけど、各言語にlibxml や xpath コマンドが枯れててずっと使いやすい
ただし、XMLには属性値という書き方もあって安定しないんだけど。
<user name="takuya" age="19" />
このへんはまだ許せる
<user age="19" ><name>takuya</name></user>
こういうのされるともう激おこするしかない。
いくら気をつけても、編集やシステム間のデータ移動を繰り返していると、こういうデータが出てきてしまう。ここさえなんとかなればなぁ。
手作業で編集させるならXML
JSONでも、シンタックスエラーや、 ダブルクオーテーション、カンマ、セミコロンなどの、閉じブラケット、カーリーブレイスのゴチャゴチャを考えるなら、もうJSONしんどいってなる。
JSON手作業やStringの++で作るのはもうシンドい。
属性とノードのアレコレはあるけどXMLは安定してる・・・
編集性能考えたら圧倒的にXML だと思います。
シンタックスエラーもブラウザにドロップするだけ。JSONだとコンソールあけて・・・
XML+Xpath意外と行ける。
XMLってXpathでデータ持てるから、手作業でデータ修正もミスが少ない。
特定のデータ探すのにもXpathを使えばいい。
過去にもXpathに結構ハマってて。色々やってる。
document.evaluate でXPATH する具体的サンプル - それマグで!
データ交換ならやっぱりJSON?
require 'json' JSON.dump({})
これだけでJSONだけできるのはやっぱり魅力ですよねぇ
でも、もし手作業が少しでも含まれるなら、XMLって結構優秀だと思うんですよね。
いや、まぁ、世間には、アプリ側からMySQLへコネクション張って、直接SQLを叩いちゃう強者も要るようですから・・・・TLSしてるんだろうな・・・もちろん