GoLang中的Marshall和UnMarshall JSON内容

我有一个示例json文件,其结构如下

{

"method":"brute_force",

"bc":"select * from blah;",

"gc":[

"select sum(year) from blah;",

"select count(*) from table;"

]

}

我正在尝试编写一个go程序,该程序可以读取此文件并操作json内容。

package main 

import (

"fmt"

"encoding/json"

"io/ioutil"

)

type Response2 struct {

method string

bc string

gc []string

}

func main() {

file,_ := ioutil.ReadFile("config.json")

fmt.Printf("%s",string(file))

res := &Response2{}

json.Unmarshal([]byte(string(file)), &res)

fmt.Println(res)

fmt.Println(res.method)

fmt.Println(res.gc)

}

res.method和res.gc不打印任何内容。我不知道怎么了。

回答:

type Response2 struct {

method string

bc string

gc []string

}

字段的名称必须为大写,否则Json模块将无法访问它们(它们是模块专有的)。您可以使用json标签指定字段和名称之间的匹配项

type Response2 struct {

Method string `json:"method"`

Bc string `json:"bc"`

Gc []string `json:"gc"`

}

以上是 GoLang中的Marshall和UnMarshall JSON内容 的全部内容, 来源链接: utcz.com/qa/429925.html

回到顶部