目次
ElmでJson
Firebaseを扱ったり、http通信を行う場合、jsonを扱う必要が出てきます。
以下が必要になります。
- elm install elm/json
- JavaScriptからElmへデコード(かなりややこしい)
- ElmからJavaScriptへエンコード
- それぞれ、portでデータのやり取り
elm/jsonパッケージのインストール
elm install elm/json
JSONって何?
異なる言語、異なる場所でのデータをやり取りをするための記述方法の一つです。
{ … } の中に、
- ダブルクォーテーション(“)で囲んだ変数名 と
- 値
をコロン(:)で区切り、ペアとします。ペアをカンマ(,)で連結することにより、例えば、下記のように記述します。
{ "name": "Tanaka", "age": 26 }
JSONデータは『文字列』です。
http://www.tohoho-web.com/ex/json.html
JSONとは
https://www.sejuku.net/blog/79911
JavaScriptのjson stringifyを完全に理解しよう!
かい
2018/11/27
Jsonを扱う際のJavaScriptとElmの型
連想配列っぽいものを、
- JavaScriptでは『オブジェクト』
- Elmでは『レコード』
と呼びます。微妙に書き方や使用方法が異なります。
オブジェクト / レコード
JavaScript Elm { x: 3, y: 4 } { x = 3, y = 4 } point.x point.x point.x = 42 { point | x = 42 }
以下のまとめが、非常に参考になります。
https://qiita.com/boiyaa/items/7050eb93106a93a8dfb8
@boiyaa
2017年02月27日に更新
ElmとJavaScriptのシンタックス比較表
FirebaseからElmにデータを送るときのおおまかな流れ
elmアプリ(をJavaScriptにコンパイルしたファイル)からは直接、Firebaseとデータのやり取りをすることができません。
そのため、src/Main.elmとFirebaseプロジェクトの間を、index.html(ここにJavaScriptのコードを記載)に仲介させます。
Firebase →(JSON)→ index.html →(portまたはflag)→ src/Main.elm
参考リンク
https://qiita.com/A_kirisaki/items/4c5343426d9de976ac72
@A_kirisaki
2017年12月15日に更新
ElmでTodoリストを作る
→elm 0.18ですが、ほぼ同じにできそうです。
リンク
目次:Elm