タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

golangとJSONに関するdelegateのブックマーク (7)

  • [Go] JSON内の数字や文字列が混じった配列を構造体にUnmarshalする - My External Storage

    TL;DR Goは構造体のUnmarshalJSONを独自実装すると、Unmarshal時の挙動も独自定義できる JSON配列はUnmarshalすると[]interface{}となるので一つ一つ型キャストすれば値が取れる 最初にコードだけ書いておくと以下になる。 https://play.golang.org/p/dB01YLzxExL package main import ( "encoding/json" "errors" "testing" ) // TotalsArray defined for totals array type TotalsArray struct { Files int CoverageRatio string } // UnmarshalJSON 独自定義したUnmarshal方法でUnmarshal時の動きを変える func (ta *TotalsAr

    [Go] JSON内の数字や文字列が混じった配列を構造体にUnmarshalする - My External Storage
  • Go言語で手軽にjsonの項目をパースする

    Go言語の標準ライブラリでjsonを手軽にパースする方法がよくわからなかったので調べた結果のまとめ。 標準ライブラリによるjsonパース 標準ライブラリの encoding/json を用いてjsonをパースしようとすると構造体の定義が必要になる。これが非常に面倒。 json全体を利用するのであれば構造体を定義して操作するのは問題ないが、特定の1項目だけ取得したい場合などわざわざ構造体を定義したくない。 もちろん、 json-to-go を利用すれば、jsonから自動で構造体定義を出力するので作成の手間はないし、 不要な項目は省略しても問題ないのでシンプルに保つことはできるが、できれば構造体定義なしにjsonから値を取得したい。 type Data struct { Depth1 struct { Depth2 struct { Depth3 struct { Key string } }

    Go言語で手軽にjsonの項目をパースする
  • GoでよしなにJSONをパースする - Qiita

    よしなにJSONをパース Goは静的型付け言語であるため、JSONを利用するにも型を宣言しなければならない。 自らが作成したアプリケーションが返すJSONならば良いのだが、 頻繁に変更されるような外部のAPIや巨大JSONの型を都度宣言し直すのは嬉しくない。 そこで、型を宣言せずともJSONから値を取れるライブラリの紹介。 jsonparser package main import ( "fmt" "github.com/buger/jsonparser" ) func main() { var jsonStr =` { "name": "山田太郎", "age": 30, "isStudent": false, "address": { "street": "桜通り1-2-3", "city": "東京", "zip": "100-0001" }, "hobbies": ["読書",

    GoでよしなにJSONをパースする - Qiita
  • Go言語でのJSON操作: json.Marshal, json.Unmarshal, json.NewDecoder, json.NewEncoderの使い分け - Qiita

    Go言語でのJSON操作: json.Marshal, json.Unmarshal, json.NewDecoder, json.NewEncoderの使い分けGoJSONインターン大学生アルバイト はじめに Go言語の学習中に、JSONを扱うのにencoding/jsonパッケージのjson.Marshal, json.Unmarshal,json.NewDecoder,json.NewEncoderといった関数を使うけど、これらの関数の使い分けについて気になりました。そこで、この記事ではそれぞれの関数の特性と適した使用場面について学んだことを記述しています。 json.Marshal, json.Unmarshalについて まず、json.Marshalとjson.Unmarshalですが、これらの関数は主にメモリ内のデータをJSON形式にシリアライズ(変換)したり、JSONをデシリ

    Go言語でのJSON操作: json.Marshal, json.Unmarshal, json.NewDecoder, json.NewEncoderの使い分け - Qiita
  • Golangのjson.Unmarshalとjson.Decoder.Decodeの違い - 試運転ブログ

    Golang標準のjsonパッケージでは、jsonをstructに展開する方法として、 json.Unmarshal という関数と、 json.NewDecoder でデコーダを生成し、 Decode 関数を呼ぶ方法がある。 インターフェイスは、 func Unmarshal(data []byte, v any) error func NewDecoder(r io.Reader) *Decoder と func (dec *Decoder) Decode(v any) error バイト列を渡すのと、io.Readerから渡すという点が異なるが、これによる挙動の違いが最初わかっていなかった。 違いの結論 Unmarshalに渡すバイト列はひとつのjsonとして正しい形式である必要がある Decoderにio.Readerを渡してDecodeする方法は、Decodeはストリームから次のj

    Golangのjson.Unmarshalとjson.Decoder.Decodeの違い - 試運転ブログ
  • Goで、json.UnmarshalとMarshalとエンコード

    Golangの、UnmarshalとMarshalについて解説してみたいと思います。 ネットワーク越しで、取ってきたデータをGoの構造体に変換したり、Goの構造体からJSONに変換してデータを送信したりと使用する機会も多いと思うので、是非参考にしていただければと思います。 Unmarshal Unmarshalは、ネットワーク越しに送信されたデータをGoの構造体に変換します。

    Goで、json.UnmarshalとMarshalとエンコード
  • golang は ゆるふわに JSON を扱えまぁす! — KaoriYa

    以下のツイートにもある通り、一見 golang は struct を定義しないと JSON を扱えないように見えます。他にも似たようなツイートをチラホラと見かけましたが、それらは全部誤解です。そこでこの記事では、golang でゆるふわ (structを定義せず) に JSON を扱う方法を紹介します。 golangrubyのようにゆるふわにJSONは扱えない? https://t.co/olsryDHc5G — bamchoh (@bamchoh) 2016年6月24日 この記事では入力の json.Unmarshal() を取り扱いますが、出力の json.Marshal() にも応用できます。 TL;DR json.Unmarshal() には *interface{} を渡せます interface{} は dproxy を使うと、値のアクセスで楽ができます json.Unmar

  • 1