如何在golang中解析JSON?

时间:2014-07-05 05:33:47

标签: 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 个答案:

答案 0 :(得分:4)

您的代码有两个问题。

  1. 您需要导出字段或Marshal不会工作,请阅读here
  2. 您的包裹必须被称为主要包裹或func main不会被执行。
  3. 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)
    }