zoukankan      html  css  js  c++  java
  • golang encoding/json

     1 package main
     2 
     3 import (
     4     "bytes"
     5     "encoding/json"
     6     "fmt"
     7 )
     8 
     9 type ColorGroup struct {
    10     ID     int
    11     Name   string
    12     Colors []string
    13 }
    14 
    15 func main() {
    16 
    17     //---------------Marshal
    18     group := ColorGroup{
    19         ID:     1,
    20         Name:   "Reds",
    21         Colors: []string{"Crimson", "Red", "Ruby", "Maroon"},
    22     }
    23     b, err := json.Marshal(group)
    24     if err != nil {
    25         fmt.Println("error:", err)
    26     }
    27     //os.Stdout.Write(b)
    28     fmt.Println(string(b[:]))
    29 
    30     //---------------Unmarshal
    31     var jsonBlob = []byte(`[
    32             {"ID":1,"Name":"Reds1","Colors":["Crimson","Red1","Ruby1","Maroon1"]},
    33             {"ID":2,"Name":"Reds2","Colors":["Crimson","Red2","Ruby2","Maroon2"]},
    34             {"ID":3,"Name":"Reds3","Colors":["Crimson","Red3","Ruby3","Maroon3"]}
    35         ]`)
    36 
    37     var animals []ColorGroup
    38     error := json.Unmarshal(jsonBlob, &animals)
    39     if error != nil {
    40         fmt.Println("error:", error)
    41     }
    42 
    43     //fmt.Printf("%+v", animals)
    44     //fmt.Println(animals)
    45     for i, x := range animals {
    46         fmt.Println(i, x)
    47 
    48     }
    49     //---------------Indent
    50     dst := new(bytes.Buffer)
    51     json.Indent(dst, jsonBlob, "##", "**")
    52     fmt.Println(dst)
    53 }
  • 相关阅读:
    mysql读写分离
    mysql主从同步
    扫描与抓包
    加密与入侵检查
    监控
    selinux
    预期交互
    python发送邮件
    linux下安装虚拟环境
    博弈论
  • 原文地址:https://www.cnblogs.com/rojas/p/4441675.html
Copyright © 2011-2022 走看看