Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.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
在json.Unmarshal之后接收零初始化对象_Json_Go_Unmarshalling - Fatal编程技术网

在json.Unmarshal之后接收零初始化对象

在json.Unmarshal之后接收零初始化对象,json,go,unmarshalling,Json,Go,Unmarshalling,我似乎无法在Go中解析json文件。我试过很多教程,但我看不出我做错了什么。JSON看起来像这样 { "latitude": 34.4048358, "longitude": -119.5313565, "dateTime": "Thu Jun 26 2014 08:36:42 GMT-0700 (PDT)" } package main import ( "encoding/json" "fmt" ) type Position struct {

我似乎无法在Go中解析json文件。我试过很多教程,但我看不出我做错了什么。JSON看起来像这样

{
    "latitude": 34.4048358,
    "longitude": -119.5313565,
    "dateTime": "Thu Jun 26 2014 08:36:42 GMT-0700 (PDT)"
}
package main

import (
    "encoding/json"
    "fmt"
)

type Position struct {
    latitude  float64 `json:latitude`
    longitude float64 `json:logitude`
    dateTime  string  `json:dateTime`
}

func jsonToPosition(jsonData []byte) {
    position := &Position{}

    if err := json.Unmarshal(jsonData, position); err != nil {
        fmt.Println(err)
    }

    fmt.Println(position)
}

func main() {
    jsonToPosition([]byte(`{"latitude":34.4048358,"longitude":-119.5313565,"dateTime":"Thu Jun 26 2014 08:36:42 GMT-0700 (PDT)"}`))
}
我的主文件如下所示

{
    "latitude": 34.4048358,
    "longitude": -119.5313565,
    "dateTime": "Thu Jun 26 2014 08:36:42 GMT-0700 (PDT)"
}
package main

import (
    "encoding/json"
    "fmt"
)

type Position struct {
    latitude  float64 `json:latitude`
    longitude float64 `json:logitude`
    dateTime  string  `json:dateTime`
}

func jsonToPosition(jsonData []byte) {
    position := &Position{}

    if err := json.Unmarshal(jsonData, position); err != nil {
        fmt.Println(err)
    }

    fmt.Println(position)
}

func main() {
    jsonToPosition([]byte(`{"latitude":34.4048358,"longitude":-119.5313565,"dateTime":"Thu Jun 26 2014 08:36:42 GMT-0700 (PDT)"}`))
}

我没有发现任何错误。当我执行
fmt.Println(position)
时,我只得到
&{0 0}
,这是一个常见的错误:您没有导出
position
结构中的值,因此
json
包无法使用它。为此,请在变量名称中使用大写字母:

type Position struct {
    Latitude  float64 `json:latitude`
    Longitude float64 `json:logitude`
    DateTime  string  `json:dateTime`
}

昨天我对同一个问题给出了同样的答案:可能是重复的