Go で JSON を扱うユーティリティを作ってみた #golang
概要
Go で JSON を扱うときは構造体を用意して扱うのが一般的と思われる。
ただ外部の API 経由で取得する JSON なんかだと、フィールドが大量だったり、階層が深かったりして扱うのが大変だったりする。
一部の値だけ使いたいときにもっと手軽に扱えないかなー、と思ってユーティリティを作ってみた。
使い方
README とか Example も書いたんだけどこんな感じ。
jsonVal := ` { "team": "FC Barcelona", "captain": { "name":"Messi", "position":"Forward" } } ` // JSON 文字列からコンテナを生成 container, err := chazuke.FromJSON(jsonVal) if err != nil { panic(err.Error()) } // Get で ほしい情報にアクセスして Value で取り出す team, err := container.Get("team").Value() if err != nil { panic(err.Error()) } fmt.Println(team) // -> FC Barcelona // 階層化してる場合はこんな感じ captain, err := container.Get("captain").Get("name").Value() if err != nil { panic(err.Error()) } fmt.Println(captain) // -> Messi
他にも配列を扱えるようにしたりしてる。
補足
まぁすでに何かしらありそうだなとは思っていたけれど、だいぶ似たようなのがあったw
勉強になったし、作りたいから作ったということで。。