我似乎无法在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)"}`))
}
我没有收到错误或其他任何错误。我在&{0 0 }
时获得fmt.Println(position)
。
答案 0 :(得分:3)
这是一个常见的错误:您没有导出Position
结构中的值,因此json
包无法使用它。使用变量名中的大写字母来执行此操作:
type Position struct {
Latitude float64 `json:latitude`
Longitude float64 `json:logitude`
DateTime string `json:dateTime`
}