JSON in Go: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 29: Line 29:


==Unmarshalling into Struct==
==Unmarshalling into Struct==
<syntaxhighlight lang='go'>
type Item struct {
  Color string
  Size int
  Options []string
}
s := "{\"Color\":\"blue\",\"Size\":5,\"Options\":[\"brake\",\"acceleration\",\"lights\"]}"
ba := []byte(s)
var i Item
err := json.Unmarshal(ba, &i)
fmt.Printf("%+v\n", i)
</syntaxhighlight>


=TO PROCESS=
=TO PROCESS=
<font color=darkkhaki>TO PROCESS: https://golang.cafe/blog/golang-json-marshal-example.html</font>
<font color=darkkhaki>TO PROCESS: https://golang.cafe/blog/golang-json-marshal-example.html</font>

Revision as of 17:21, 25 August 2023

Internal

Overview

JSON Marshalling Go → JSON

JSON marshalling means generating a JSON representation from a Go object. It is done with json.Marshal(). The result is a byte array. To convert the byte array to a string, see:

Go Integers | Conversion between bytes and strings

Map Marshalling

Struct Marshalling

By default, only fields that start with capital letters are marshaled. The fields that start with lower caps are invisible to the marshaling process.

type Item struct {
  Color string
  Size int
  Options []string
}

i := Item{Color: "blue", Size: 5, Options: []string{"brake", "acceleration", "lights"}}

ba, err := json.Marshal(i)

fmt.Println(string(ba))

JSON Unmarshalling JSON → Go

Unmarshalling into Struct

type Item struct {
  Color string
  Size int
  Options []string
}

s := "{\"Color\":\"blue\",\"Size\":5,\"Options\":[\"brake\",\"acceleration\",\"lights\"]}"
ba := []byte(s)
var i Item

err := json.Unmarshal(ba, &i)

fmt.Printf("%+v\n", i)

TO PROCESS

TO PROCESS: https://golang.cafe/blog/golang-json-marshal-example.html