How golang generates JSON and parses JSON

藏色散人
Release: 2020-11-10 14:43:51
forward
3577 people have browsed it

The following is introduced to you bygolang##tutorial columngolang generates JSON And parsing JSON, I hope it will be helpful to friends in need!

How golang generates JSON and parses JSON

1. JSON parsing into structure

Introducing this part Before, let’s briefly introduce Json syntax

JSON syntax is a subset of JavaScript syntax. JSON syntax is a subset of JavaScript object notation syntax.

Data is in name/value pairs

Data is separated by commas
Curly brackets save objects
Square brackets save arrays
1.JSON name/value pairs

"name" : "value"

2.JSON value

can be:

Number (integer or floating point number)

String (in double quotes)
logical value (true or false)
array (in square brackets)
object (in curly brackets)
null

    JSON data
  1. JSON numbers can be integers or floating point types
{ "age":30 }

    JSON object
  1. JSON objects are written within braces ({}):
    Objects can contain multiple name/value pairs:
  2. { "name": "runoob", "alexa": 10000, "sites": { "site1": "www.runoob.com", "site2": "m.runoob.com", "site3": "c.runoob.com" } }
    Copy after login
    JSON array
  1. JSON array in Write in brackets:
    The array can contain multiple objects:
  2. { "sites": [ { "name": "菜鸟教程", "url": "www.runoob.com" }, { "name": "google", "url": "www.google.com" }, { "name": "微博", "url": "www.weibo.com" } ] }
    Copy after login
    JSON Boolean value
{ "flag":true }

    JSON null
{ "runoob":null }

Json is parsed into a structure

//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) }
Copy after login

2. Convert 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) } }
Copy after login

Output result:

m: map[IP:127.0.0.1 name:SKY]

name : SKY
IP : 127.0.0.1

3. Generate 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)) }
Copy after login

The above is the detailed content of How golang generates JSON and parses JSON. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:csdn.net
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!