json - 如何在 golang 中解析 JSON?

标签 json go

我尝试在 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)
}

最佳答案

您的代码有两个问题。

  1. 您需要导出字段,否则 Marshal 将无法工作,请阅读相关内容 here .
  2. 您的包必须调用 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/

相关文章:

java - 当存在 JsonSerializer<Timestamp>() 时,JsonSerializer<Date>() 不适用于 java.util.Date 字段

mongodb - 形成结构以使用复合键读取 bson 对象

go - strings.Trim 正在删除字母 "i"(golang)

json - 使用 Go 解码 gZip json

c++ - 升压asio : Unable to read URL Body (JSON)

c# - 反序列化自定义数据类型实现 IConvertible 的问题

go - 如何以惯用的方式预分配和填充一片指针?

Python json 在附加 dict 列表时转储语法错误

arrays - 如何使用golang的zlib?

arrays - 将数组作为golang的输入