zoukankan      html  css  js  c++  java
  • 62_json文件解析成结构体格式

    package main

    import (
    "encoding/json"
    "fmt"
    )

    type People struct {
    //由于结构体生成json文本成员变量必须大写,可以使用struct_tag来二次编码,此时可以使用小写
    Name string `json:"name"`
    Subject []string
    Isok bool `json:", string"` //转换成字符串类型输出
    Price float64 `json:"-"` //不打印
    }
    type People1 struct {
    //由于结构体生成json文本成员变量必须大写,可以使用struct_tag来二次编码,此时可以使用小写
    Name string `json:"name"`
    }

    func main() {
    //json文本
    JsonBuff := `
    {
    "Name":"steven",
    "Subject":[
    "C++",
    "Go",
    "Python"
    ],
    "Isok":true,
    "Price":66.66
    }

    `
    var p1 People
    err := json.Unmarshal([]byte(JsonBuff), &p1) //这里p1一定是去地址
    if err != nil {
    fmt.Println("err=", err)
    return
    }
    fmt.Println(p1) //{steven [C++ Go Python] true 0}
    fmt.Printf("%+v ", p1)
    //{Name:steven Subject:[C++ Go Python] Isok:true Price:0}

    //如果只想打印json中某个字段,可以结构体就定义哪一个
    var p2 People1
    err2 := json.Unmarshal([]byte(JsonBuff), &p2)
    if err2 != nil {
    fmt.Println("err2=", err2)
    return
    }
    fmt.Println(p2) //
    fmt.Printf("%+v ", p2) //{Name:steven}

    }
    每天的价值就是不停息的前进!!!
  • 相关阅读:
    MySQL开发规范与使用技巧总结
    Anaconda3(在D盘)安装jieba库具体步骤
    Python的reshape的用法
    oom和cpu负载的定位
    接口安全设计
    恍然间
    java原子类
    设计模式
    微服务
    常见的代码优化
  • 原文地址:https://www.cnblogs.com/zhaopp/p/11626081.html
Copyright © 2011-2022 走看看