2022-08-24
自販機オープンデータ化プロジェクトは、オープンストリートマップのオープンデータとしての登録をリクエストいただきました。今年のjigインターン生も使っていたOverpass APIでも使えるようになって便利そう!

教えていただいた、オープンストリートマップ(OSM)のAPI v0.6を見てみると登場するXML(Extensible Markup Language)。まずは、JavaScriptでのオブジェクトJSONとの相互変換から準備しました。


「code4fukui/XML: XML for JavaScript ES module (XML.toJSON / XML.stringify)」

XMLをどうJSONにするかはいろいろと流儀があるようですが、属性をオブジェクトの名前として、タグ内のテキストを #text を名前とする形式を採用。XML文字列をJSONにする XML.toJSON と、逆にJSONを空白2文字でインデントした文字列へと変換する XML.stringify を、先日作った DOMParser を使って作りました。 import { XML } from "https://js.sabae.cc/XML.js"; const json = XML.toJSON("<xml att='abc'><tag>text</tag></xml>"); console.log(json); const xml = XML.stringify({ xml: { att: "abc", tag: { "#text": "text" } } }); console.log(xml); 簡単ですね!テストコード XML.test.js、必要であれば追記、プルリクください。今回から型定義ファイル XML.d.ts も用意するようにしたので、TypeScriptからもの利用もどうぞ!

JavaScript標準の JSON に加え、CSV.js / CBOR.js / XML.js があれば、データの読み書きはだいたいなんとかなります。

Tweet
クリエイティブ・コモンズ・ライセンス
本ブログの記事や写真は「Creative Commons — CC BY 4.0」の下に提供します。記事内で紹介するプログラムや作品は、それぞれに記載されたライセンスを参照ください。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / 「一日一創」画像 / RSS