zoukankan      html  css  js  c++  java
  • [GO]json解析到结构体

    package main
    
    import (
        "encoding/json"
        "fmt"
    )
    
    type IT struct {
        Company string `json:"company"`
        Subjects []string `json:"subjects"`
        Isok bool `json:"isok"`
        Price float64 `json:"price"`
    }
    
    func main() {
        jsonbuf := `{"company":"zyg","isok":true,"price":5.55,"subjects":["go","python","java"]}`
        var tmp IT
        err := json.Unmarshal([]byte(jsonbuf), &tmp) //这个地方一下是取tmp的地址的,它需要对结构体进行更改,根据查看源码可以知道它的返回就一个err
        if err != nil {
            return
        }
        fmt.Printf("tmp = %+v
    ", tmp)
    }

    执行的结果为

    tmp = {Company:zyg Subjects:[go python java] Isok:true Price:5.55}  //这个结果没有问题,打印就是没有双引号的

    如果其中只想需打印结果体的下面两行,只需要修改结构体为

    type IT struct {
        //Company string `json:"company"`
        //Subjects []string `json:"subjects"`
        Isok bool `json:"isok"`
        Price float64 `json:"price"`
    }

    那么执行的结果自动的解析 为

    tmp = {Isok:true Price:5.55}
  • 相关阅读:
    CF117C Cycle (竞赛图找环)
    P1144 最短路计数 (bfs/SPFA)
    RabbitMQ.Client API (.NET)中文文档
    四元组
    .Net Standard Http请求实例
    .Net Standard简介
    Lambda表达式(lambda expression)⭐⭐⭐⭐⭐
    CSS
    工具类css框架
    Sass
  • 原文地址:https://www.cnblogs.com/baylorqu/p/9663501.html
Copyright © 2011-2022 走看看