<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                編碼JSON >其他數據轉json > func Marshal(v interface{}) ([]byte, error) > v interface{} 需要轉換的映射或者結構體 > []byte 輸出字節需要根據類型轉換輸出比如 string() >格式化josn >func MarshalIndent(v interface{}, perfix, indent string) ([]byte, error) > v interface{} 需要轉換的映射或者結構體 > []byte 輸出字節需要根據類型轉換輸出比如 string() > perfix 前綴 使用默認 > indent string 前綴 ,一個縮進" " ``` package main import ( "encoding/json" "fmt" ) func main() { // 創建一個 映射map var m = make(map[string]interface{}, 4) m["name"] = "Pony" m["age"] = 18 m["height"] = 180 m["data"] = []string{"Go", "Python", "PHP"} // 打印映射 fmt.Println(m) //轉json result, _ := json.Marshal(m) //打印轉的json 要使用string() fmt.Println(string(result)) //格式化 json resultfmt, _ := json.MarshalIndent(m, "", " ") //打印轉的json 要使用string() fmt.Println(string(resultfmt)) } 結果: map[age:18 data:[Go Python PHP] height:180 name:Pony] {"age":18,"data":["Go","Python","PHP"],"height":180,"name":"Pony"} { "age": 18, "data": [ "Go", "Python", "PHP" ], "height": 180, "name": "Pony" } ``` ### 使用結構體快速編碼 ``` package main import ( "encoding/json" "fmt" ) // 創建一個結構體 里面是json的鍵位 type Per struct { // Name屬性的key值轉為 name Name string `json:"name"` Age int `json:"age"` Height int `json:"height"` Data []string `json:"data"` // 這種數組 或者切片 類型前加[] } func main() { // 定義一個結構體變量 per := Per{"Pony", 18, 170, []string{"Go", "Python", "PHP"}} //轉成json 輸出 //result, err := json.Marshal(per) result, err := json.MarshalIndent(per, "", " ") fmt.Println(string(result)) if err != nil { fmt.Println(err) } } 結果: { "name": "Pony", "age": 18, "height": 170, "data": [ "Go", "Python", "PHP" ] } ``` ### 解碼json > func Unmarshal(data []byte, v interface{}) error > data []byte 這塊[]byte(json字符串) > v interface{} 指針類型 ``` package main import ( "encoding/json" "fmt" ) // 創建一個結構體 里面是json的鍵位 type Per struct { Name string `json:"name"` Age int `json:"age"` Height int `json:"height"` Data []string `json:"data"` // 這種數組 或者切片 類型前加[] } func main() { // `` 通常用這個符號直接輸出 jsonstr := `{ "name": "Pony", "age": 18, "height": 170, "data": [ "Go", "Python", "PHP" ] }` // 實例化結構體 // per := new(Per) 返回指針類型 var per Per // 返回映射 err := json.Unmarshal([]byte(jsonstr), &per) if err != nil { fmt.Println(err) } fmt.Println(per) } 結果: {Pony 18 170 [Go Python PHP]} ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看