Golang JSON 구조체를 이용한 JSON 데이터 인코딩 방법

메서드 단계:
1. 구조체를 먼저 성명한다.
2. 실례화된 구조체를 정의한다. 구조체에 값을 부여한다.
3. json을 사용합니다.Marshal은 구조체 데이터를 JSON 데이터 형식으로 인코딩합니다.
4. 가능: JSON 데이터 인코딩 성공!
출력 구조체 인쇄: fmt.Printf("%+v", 구성 인스턴스 객체 이름)
5. 인코딩된 구조체의 데이터 형식은 []byte:unit8입니다.
코드 예:
package main

import (
	"encoding/json"
	"fmt"
	"log"
	"reflect"
)

type person struct {
	Name    string
	Age     int
	Address []string
}

func main() {
	address := []string{"China", "Guangdong", "Shenzhen"}
	p := person{
		Name:    "www.ydook.com",
		Age:     26,
		Address: address,
	}

	fmt.Printf("%+v
", p) fmt.Println(p.Address) fmt.Println(p.Age) fmt.Println(p.Name) jsonByteData, err := json.Marshal(p) fmt.Println("reflect.TypeOf(p) = ", reflect.TypeOf(p)) fmt.Println("reflect.TypeOf(jsonByteData) = ", reflect.TypeOf(jsonByteData)) if err != nil { log.Fatal(err) } else { jsonByteData := string(jsonByteData) fmt.Println(jsonByteData) } fmt.Println("reflect.TypeOf(jsonByteData) = ", reflect.TypeOf(jsonByteData)) }

실행 결과:
{Name:www.ydook.com  Age:26 Address:[China Guangdong Shenzhen]}
[China Guangdong Shenzhen]
26
Ydook
reflect.TypeOf(p) =  main.person
reflect.TypeOf(jsonByteData) =  []uint8
{"Name":"Ydook","Age":26,"Address":["China","Guangdong","Shenzhen"]}
reflect.TypeOf(jsonByteData) =  []uint8

좋은 웹페이지 즐겨찾기