다음 튜토리얼 칼럼인 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 구조로 구문 분석됨
//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) }E
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

go语言有缩进。在go语言中,缩进直接使用gofmt工具格式化即可(gofmt使用tab进行缩进);gofmt工具会以标准样式的缩进和垂直对齐方式对源代码进行格式化,甚至必要情况下注释也会重新格式化。

本篇文章带大家了解一下golang 的几种常用的基本数据类型,如整型,浮点型,字符,字符串,布尔型等,并介绍了一些常用的类型转换操作。

go语言叫go的原因:想表达这门语言的运行速度、开发速度、学习速度(develop)都像gopher一样快。gopher是一种生活在加拿大的小动物,go的吉祥物就是这个小动物,它的中文名叫做囊地鼠,它们最大的特点就是挖洞速度特别快,当然可能不止是挖洞啦。

是,TiDB采用go语言编写。TiDB是一个分布式NewSQL数据库;它支持水平弹性扩展、ACID事务、标准SQL、MySQL语法和MySQL协议,具有数据强一致的高可用特性。TiDB架构中的PD储存了集群的元信息,如key在哪个TiKV节点;PD还负责集群的负载均衡以及数据分片等。PD通过内嵌etcd来支持数据分布和容错;PD采用go语言编写。

在写 Go 的过程中经常对比这两种语言的特性,踩了不少坑,也发现了不少有意思的地方,下面本篇就来聊聊 Go 自带的 HttpClient 的超时机制,希望对大家有所帮助。

go语言需要编译。Go语言是编译型的静态语言,是一门需要编译才能运行的编程语言,也就说Go语言程序在运行之前需要通过编译器生成二进制机器码(二进制的可执行文件),随后二进制文件才能在目标机器上运行。

删除map元素的两种方法:1、使用delete()函数从map中删除指定键值对,语法“delete(map, 键名)”;2、重新创建一个新的map对象,可以清空map中的所有元素,语法“var mapname map[keytype]valuetype”。


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

WebStorm Mac 버전
유용한 JavaScript 개발 도구

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

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

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

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