欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

golang怎樣生成JSON及解析JSON-創(chuàng)新互聯(lián)

這篇文章主要介紹了golang怎樣生成JSON及解析JSON,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

因為努力和真誠,有更多的客戶和我們聚集在一起,為了共同目標(biāo),創(chuàng)新互聯(lián)在工作上密切配合,從創(chuàng)業(yè)型企業(yè)到如今不斷成長,要感謝客戶對我們的高要求,讓我們敢于面對挑戰(zhàn),才有今天的進(jìn)步與發(fā)展。從網(wǎng)站到微信小程序開發(fā),軟件開發(fā),成都app軟件開發(fā)公司,十年企業(yè)網(wǎng)站建設(shè)服務(wù)經(jīng)驗,為企業(yè)提供網(wǎng)站設(shè)計,網(wǎng)站托管維護(hù)一條龍服務(wù).為企業(yè)提供全網(wǎng)營銷推廣,按需網(wǎng)站設(shè)計,原創(chuàng)設(shè)計,十年品質(zhì),值得您的信賴.

一、JSON解析到結(jié)構(gòu)體

在介紹這部分之前先簡要介紹一下Json語法

JSON 語法是 JavaScript 語法的子集。JSON 語法是 JavaScript 對象表示法語法的子集。

數(shù)據(jù)在名稱/值對中
數(shù)據(jù)由逗號分隔
大括號保存對象
中括號保存數(shù)組
1.JSON名稱/值對

"name" : "value"

2.JSON值
可以是:

數(shù)字(整數(shù)或浮點數(shù))
字符串(在雙引號中)
邏輯值(true 或 false)
數(shù)組(在中括號中)
對象(在大括號中)
null

  1. JSON數(shù)據(jù)
    JSON 數(shù)字可以是整型或者浮點型

{ "age":30 }

  1. JSON對象
    JSON 對象在大括號({})中書寫:
    對象可以包含多個名稱/值對:
{
    "name": "runoob",
    "alexa": 10000,
    "sites": {
        "site1": "www.runoob.com",
        "site2": "m.runoob.com",
        "site3": "c.runoob.com"
    }
}
  1. JSON數(shù)組
    JSON 數(shù)組在中括號中書寫:
    數(shù)組可包含多個對象:
{
    "sites": [
        {
            "name": "菜鳥教程",
            "url": "www.runoob.com"
        },
        {
            "name": "google",
            "url": "www.google.com"
        },
        {
            "name": "微博",
            "url": "www.weibo.com"
        }
    ]
}
  1. JSON布爾值

{ "flag":true }

  1. JSON null

{ "runoob":null }

Json解析到結(jié)構(gòu)體

//JSON解析到結(jié)構(gòu)體
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)
}

二、JSON轉(zhuǎn)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)
    }
}

輸出結(jié)果:

m: map[IP:127.0.0.1 name:SKY]
name : SKY
IP : 127.0.0.1

三、生成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))
}

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享golang怎樣生成JSON及解析JSON內(nèi)容對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問題就找創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,詳細(xì)的解決方法等著你來學(xué)習(xí)!

網(wǎng)頁題目:golang怎樣生成JSON及解析JSON-創(chuàng)新互聯(lián)
分享鏈接:http://chinadenli.net/article28/dghccp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、品牌網(wǎng)站設(shè)計ChatGPT、定制開發(fā)關(guān)鍵詞優(yōu)化、響應(yīng)式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司