golang json序列化

结构体序列化

func main() {
	var j = js{
		Name:  "zhangsan",
		Age:   16,
		Sal:   1500.3,
		Intro: "aihao lanqiu",
	}

	json1, _ := json.Marshal(j)
	fmt.Println(string(json1))
	mp()
	slic()
}

 map序列化

func mp() {
	var a = map[string]interface{}{
		"Name": "lisi",
		"Age":  16,
		"Sal":  22.33,
	}

	js, _ := json.Marshal(a)
	fmt.Println(string(js))
}

 切片序列化

func slic() {
	var slice = []map[string]interface{}{
		map[string]interface{}{
			"Name": "lisi",
			"Age":  16,
			"Sal":  22.33,
		},
		map[string]interface{}{
			"Name": "zhangsan",
			"Age":  22,
			"Sal":  1122.33,
		},
	}

	js, _ := json.Marshal(slice)
	fmt.Println(string(js))
}

切片序列化后返回的是一个数组,因为切片中包含两个元素,即切片包含两个切片故为一个数组

package main

import (
	"encoding/json"
	"fmt"
)

type js struct {
	Name  string
	Age   int
	Sal   float32
	Intro string
}

func mp() {
	var a = map[string]interface{}{
		"Name": "lisi",
		"Age":  16,
		"Sal":  22.33,
	}

	js, _ := json.Marshal(a)
	fmt.Println(string(js))
}

func slic() {
	var slice = []map[string]interface{}{
		map[string]interface{}{
			"Name": "lisi",
			"Age":  16,
			"Sal":  22.33,
		},
		map[string]interface{}{
			"Name": "zhangsan",
			"Age":  22,
			"Sal":  1122.33,
		},
	}

	js, _ := json.Marshal(slice)
	fmt.Println(string(js))
}

func main() {
	var j = js{
		Name:  "zhangsan",
		Age:   16,
		Sal:   1500.3,
		Intro: "aihao lanqiu",
	}

	json1, _ := json.Marshal(j)
	fmt.Println(string(json1))
	mp()
	slic()
}

基础类型结构化

无意义

package main

import (
	"encoding/json"
	"fmt"
)

func main() {
	var a = 1
	var s = "abc"

	a1, _ := json.Marshal(a)
	s1, _ := json.Marshal(s)

	fmt.Println(string(a1))
	fmt.Println(string(s1))
}

猜你喜欢

转载自www.cnblogs.com/LC161616/p/10029898.html
今日推荐