Skip to content

Instantly share code, notes, and snippets.

@abdulrahmanAlotaibi
Created September 2, 2022 15:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save abdulrahmanAlotaibi/b95074058ad7d1ebdab85a21199f33ed to your computer and use it in GitHub Desktop.
Save abdulrahmanAlotaibi/b95074058ad7d1ebdab85a21199f33ed to your computer and use it in GitHub Desktop.
package main
import (
"fmt"
"encoding/json"
)
/* terms:
- Marshaling = Encoding
links:
- https://www.sohamkamani.com/golang/json/
*/
type Person struct {
Name string `json:"username"`
}
func main() {
myDocJSON := `[{"username":"Abdulrahman"},{"username":"Mary"}]`
var persons []Person
json.Unmarshal([]byte(myDocJSON), &persons)
fmt.Println(persons[1])
unstructuredJSON := `{"birds":{"pigeon":"likes to perch on
rocks","eagle":"bird of prey"},"animals":"none"}`
var data map[string]interface{}
json.Unmarshal([]byte(unstructuredJSON), &data)
birds := data["birds"].(map[string]interface{})
fmt.Println(birds)
// Marshaling
personJSON := &Person{
Name : "Abdulrahman",
}
marshalledPersons, _ := json.Marshal([]*Person{personJSON,personJSON})
fmt.Println(string(marshalledPersons))
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment