golang이 JSON을 생성하고 JSON을 구문 분석하는 방법
Nov 10, 2020 pm 02:43 PM다음 튜토리얼 칼럼인 golang에서는 JSON을 생성하고 JSON을 구문 분석하는 golang을 소개합니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다!
1. JSON 구문 분석 구조
이 부분을 소개하기 전에 Json 구문을 간략하게 소개하겠습니다
JSON 구문은 JavaScript 구문의 하위 집합입니다. JSON 구문은 JavaScript 개체 표기법 구문의 하위 집합입니다.
데이터는 이름/값 쌍입니다.
데이터는 쉼표로 구분됩니다.
중괄호는 개체를 저장합니다.
대괄호는 배열을 저장합니다.
1.JSON 이름/값 쌍
"name" : "value"
2.JSON 값
가능:
숫자(정수 또는 부동 소수점)
문자열(큰따옴표 안)
논리값(true 또는 false)
배열(대괄호 안)
개체(중괄호 안)
null
- JSON 데이터
JSON 숫자는 정수 또는 부동 소수점 유형일 수 있습니다.
{ "age":30 }
- JSON 개체
JSON 개체는 중괄호({})로 작성됩니다.
개체는 여러 이름/값 쌍을 포함할 수 있습니다. :
{ "name": "runoob", "alexa": 10000, "sites": { "site1": "www.runoob.com", "site2": "m.runoob.com", "site3": "c.runoob.com" } }
- JSON array
JSON 배열은 대괄호로 작성됩니다.
배열은 여러 객체를 포함할 수 있습니다:
{ "sites": [ { "name": "菜鸟教程", "url": "www.runoob.com" }, { "name": "google", "url": "www.google.com" }, { "name": "微博", "url": "www.weibo.com" } ] }
- JSON Boolean
{ "flag":true }
- json NULLon { "Runoob": NULL}
json 구조로 구문 분석됨
E//JSON解析到结构体 package main import ( "encoding/json" "fmt" "os" ) type Server struct { ServerName string ServerIP string } type Serverslice struct { Servers []Server } func main() { var s Serverslice str := `{"servers": [{"serverName":"Guangzhou_Base","serverIP":"127.0.0.1"}, {"serverName":"Beijing_Base","serverIP":"127.0.0.2"}]}` err:=json.Unmarshal([]byte(str), &s) if err!=nil{ fmt.Println(err) } fmt.Println(s) fmt.Println(s.Servers[0].ServerName) }로그인 후 복사
2, JSON to map
package main import ( "fmt" "encoding/json" ) func main() { b := []byte(`{"IP": "127.0.0.1", "name": "SKY"}`) m := make(map[string]string) err := json.Unmarshal(b, &m) if err != nil { fmt.Println("Umarshal failed:", err) return } fmt.Println("m:", m) for k,v :=range m { fmt.Println(k, ":", v) } }
m: map [ip: 127.0.0 .0.1 name:SKY]
name : SKYIP : 127.0.0.13 JSON을 생성합니다
package main import ( "encoding/json" "fmt" ) type Server struct { ServerName string `json:"serverName,string"` ServerIP string `json:"serverIP,omitempty"` } type Serverslice struct { Servers []Server `json:"servers"` } func main() { var s Serverslice s.Servers = append(s.Servers, Server{ServerName: "Guangzhou_Base", ServerIP: "127.0.0.1"}) s.Servers = append(s.Servers, Server{ServerName: "Beijing_Base", ServerIP: "127.0.02"}) b, err := json.Marshal(s) if err != nil { fmt.Println("JSON ERR:", err) } fmt.Println(string(b)) }
위 내용은 golang이 JSON을 생성하고 JSON을 구문 분석하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Golang 데이터베이스 연결을 위한 연결 풀을 구성하는 방법은 무엇입니까?

Golang을 사용하여 파일을 안전하게 읽고 쓰는 방법은 무엇입니까?

Golang 프레임워크의 오류 처리에 대한 모범 사례는 무엇입니까?
