zoukankan      html  css  js  c++  java
  • read-json-file-to-struct

    read json file to struct

    package main
    
    import (
        "encoding/json"
        "fmt"
        "io/ioutil"
        "log"
    )
    
    /*
    @Time: 2019-06-20 15:41
    @Desc:
    */
    
    func main() {
    
        datas, err := ioutil.ReadFile("./citys4lbs.json")
        if err != nil {
            log.Fatal("err is:", err)
        }
    
        log.Println("datas is: ", string(datas), len(string(datas)))
    
        resp := new(Resp)
        errs := json.Unmarshal(datas, resp)
    
        if errs != nil {
            fmt.Println("json unmarshal err is :", errs)
        }
    
        fmt.Println("obj length:", len(resp.Result))
        if len(resp.Result) > 0 {
            result := resp.Result[0]
            fmt.Println(" first is :", result)
            fmt.Println(" city is :", result.City)
            fmt.Println(" province is :", result.Province)
            // code text
            cityMap := make(map[string]string)
            for _, v := range resp.Result {
                for _, city := range v.City {
                    cityMap[city.Value] = city.Text
                }
                cityMap[v.Province.Value] = v.Province.Text
            }
            fmt.Println("len is :", len(cityMap))
            fmt.Println("map is :
    ", cityMap)
        }
    
    }
    
    type Resp struct {
        Result        []Result
        ResultCode    string `json:"resultCode"`
        ResultMessage string `json:"resultMessage"`
    }
    
    type Result struct {
        City     []Obj
        Province Obj
    }
    
    type Obj struct {
        Text  string
        Value string
    }
  • 相关阅读:
    图书排列
    L1-059 敲笨钟 (20 分)
    区间移位
    取球博弈
    poj 2456 Aggressive cows
    对局匹配
    发现环
    数字划分
    哥德巴赫分解
    把数组排成最小的数
  • 原文地址:https://www.cnblogs.com/lavin/p/11060616.html
Copyright © 2011-2022 走看看