JSON01 GO serialization language ---

package main

import (
	"encoding/json"
	"fmt"
)

/*
It is defined to be the sequence of the structure
Properties must be visible, otherwise you can not access the json package
*/
type Person struct {
	Name string
	Age int
	Rmb float64
	Gender bool
	Hobbies []string
}

func NewPerson(name string,age int,rmb float64,gender bool,hobbies []string) *Person {
	person :=new(Person)
	person.Name = name
	person.Age = age
	person.Rmb = rmb
	person.Gender = gender
	person.Hobbies = hobbies
	return person
}

/*
init function will be called before the main function of the system
init function is used before the main work
*/
each person * Personal
func init() {
	fmt.Println("init")
	person = NewPerson ( "Zhang whole egg", 20, 0.5, true, [] string { "smoke", "drink", "hot head"})
	fmt.Println(person)
}

/ * * Serialization structure /
main041 function () {
	fmt.Println("main")
	bytes, err := json.Marshal(*person)
	if err != nil{
		fmt.Println ( "failed serialization err =", err)
		return
	}
	fmt.Println(string(bytes))
}

/ * Serialization Map * /
main042 function () {
	dataMap := make(map[string]interface{})
	dataMap [ "Name"] = "Zhang whole egg"
	dataMap["Age"] = "20"
	dataMap["rmb"] = "0.5"
	dataMap["gender"] = true
	dataMap [ "hobbies"] = [] string { "smoke", "drink", "hot head"}

	fmt.Println("main")
	bytes, err := json.Marshal(dataMap)
	if err != nil{
		fmt.Println ( "failed serialization err =", err)
		return
	}
	fmt.Println(string(bytes))
}

/ * The sequence of the slice (the Map built-in) * /
func main043() {
	dataMap := make(map[string]interface{})
	dataMap [ "Name"] = "Zhang whole egg"
	dataMap["Age"] = "20"
	dataMap["rmb"] = "0.5"
	dataMap["gender"] = true
	dataMap [ "hobbies"] = [] string { "smoke", "drink", "hot head"}

	dataMap2 := make(map[string]interface{})
	dataMap2["Name"] = "张lia蛋"
	dataMap2["Age"] = "20"
	dataMap2["rmb"] = "0.5"
	dataMap2["gender"] = true
	dataMap2 [ "hobbies"] = [] string { "smoke", "drink", "hot head"}

	dataSlice := make([]map[string]interface{}, 0)
	dataSlice = append (dataSlice, dataMap, dataMap2)

	fmt.Println("main")
	bytes, err := json.Marshal(dataSlice)
	if err != nil{
		fmt.Println ( "failed serialization err =", err)
		return
	}
	fmt.Println(string(bytes))
}

/ * Sequence of sections (structure built objects) * /
func main() {
	person1: = * NewPerson ( "Zhang whole egg", 20, 0.5, true, [] string { "smoke", "drink", "hot head"})
	person2: = * NewPerson ( "Zhang two eggs", 10, 0.5, true, [] string { "smoke", "drink", "hot head"})

	dataSlice := make([]Person, 0)
	dataSlice = append(dataSlice, person1, person2)

	fmt.Println("main")
	bytes, err := json.Marshal(dataSlice)
	if err != nil{
		fmt.Println ( "failed serialization err =", err)
		return
	}
	fmt.Println(string(bytes))
}

  

Guess you like

Origin www.cnblogs.com/yunweiqiang/p/11973636.html