我尝试在 golang 中“Unmarshal”json,但它似乎不起作用。 我打印出 0 而不是 1。我做错了什么?
package main
import (
"fmt"
"encoding/json"
)
type MyTypeA struct {
a int
}
func main() {
var smthng MyTypeA
jsonByteArray := []byte(`{"a": 1}`)
json.Unmarshal(jsonByteArray, &smthng)
fmt.Println(smthng.a)
}
最佳答案
您的代码有两个问题。
- 您需要导出字段,否则 Marshal 将无法工作,请阅读相关内容 here .
- 您的包必须调用 main,否则
func main
将不会被执行。
http://play.golang.org/p/lJixko1QML
type MyTypeA struct {
A int
}
func main() {
var smthng MyTypeA
jsonByteArray := []byte(`{"a": 1}`)
json.Unmarshal(jsonByteArray, &smthng)
fmt.Println(smthng.A)
}
关于json - 如何在 golang 中解析 JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24583326/