Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用struct读取JSON_Json_Go_Struct - Fatal编程技术网

使用struct读取JSON

使用struct读取JSON,json,go,struct,Json,Go,Struct,我定义了一个与JSON结构匹配的结构。我正在尝试将JSON对象解组到结构类型。但是我的struct var中没有得到任何东西 没有语法错误。您能告诉我哪里出错了吗?只有导出的字段才被编组和取消编组 将类型更改为 package main import ( "encoding/json" "fmt" "log" ) func main() { type FruitBasket struct {

我定义了一个与JSON结构匹配的结构。我正在尝试将JSON对象解组到结构类型。但是我的struct var中没有得到任何东西


没有语法错误。您能告诉我哪里出错了吗?

只有导出的字段才被编组和取消编组

将类型更改为

package main

import (
    "encoding/json"
    "fmt"
    "log"
)

func main() {
    type FruitBasket struct {
        formatVersion    string `json:"formatVersion"`
        terraformVersion string `json:"terraformVersion"`
    }

    jsonData := []byte(`{"formatVersion":"0.1","terraformVersion":"0.13.5"}`)

    var basket FruitBasket

    err := json.Unmarshal(jsonData, &basket)
    if err != nil {
        log.Println(err)
    }

    fmt.Println(basket.formatVersion, basket.terraformVersion)
}
会给你预期的结果

type FruitBasket struct {
    FormatVersion    string `json:"formatVersion"`
    TerraformVersion string `json:"terraformVersion"`
}