2021年7月15日木曜日

Golangで自前XML2JSON出来ましたわ

動画の説明
Sedna XML Databaseにbase64エンコードされた画像も含んだタグが記録されていて、XQuery使ってTitleでソートし、先頭の5件を取得、その後、Golangで作ったXML2JSONで変換し、クライアントへ送り返している。
クライアントで取得したJSONをコピペして、巷のサイトのJSON Validator使ってフォーマットしている。

巷のサイトさんのチェックが遅すぎて笑ったw

XQueryのReturn値全体を<DATA>タグで括り、DATAタグのプロパティで、OUTPATHを指定することで、XMLタグの任意の位置をルートに指定できるようにした。さらに、FORCEARRAYプロパティで、強制配列化も複数個所指定できるようにした。
おそらく世界中のどのXML2JSONよりまともに動くが今のところ公開する気はない。

見て欲しいところは、最後のチャーハンの項目ね
XMLだとチャーハンはTAGS/nameに1項目しかないんだけど、
FORCEARRAYでパス指定してあると、1項目でも[]で囲われて強制的に配列扱いになっている。

こういうのはXMLを一度構造体などを使ってメモリ上に展開し、JSONを組み立てる時にパスを確認し、強制配列表現にするかどうかってことをやらないといけない。

まぁここまで書けば誰でもできることだろう?



 

0 件のコメント: