gpt4 book ai didi

go json decoder definition ,在这种情况下应该输入什么

转载 作者:数据小太阳 更新时间:2023-10-29 03:07:24 25 4
gpt4 key购买 nike

我有一个 go 代码将结构编码为 json 对象。谁能告诉我如何解码它?我不明白的是,要定义解码器,输入应该是什么?

主要包

import "encoding/json"
import "bytes"
//import "os"
import "fmt"

func main() {
var emptyAppendEntriesResponse bytes.Buffer
enc := json.NewEncoder(&emptyAppendEntriesResponse)
d := map[string]int{"apple": 5, "lettuce": 7}
enc.Encode(d)



}

谢谢

最佳答案

您可以使用 bytes.Buffer 作为 Reader 和 Writer,但是如果您使用 *bytes.Buffer 会更容易一些,因为您需要使用无论如何都是一个指针。

http://play.golang.org/p/NbK_D-bMML

emptyAppendEntriesResponse := bytes.NewBuffer(nil)
enc := json.NewEncoder(emptyAppendEntriesResponse)
d := map[string]int{"apple": 5, "lettuce": 7}
enc.Encode(d)

fmt.Println(string(emptyAppendEntriesResponse.Bytes()))

dec := json.NewDecoder(emptyAppendEntriesResponse)

d = map[string]int{}
dec.Decode(&d)
fmt.Printf("%+v\n", d)

当您不直接使用 io 流时,通常使用 json.Marshaljson.Unmarshal 比创建编码器和解码器更方便。

d := map[string]int{"apple": 5, "lettuce": 7}
resp, err := json.Marshal(&d)
fmt.Println(string(resp))

d = map[string]int{}
err = json.Unmarshal(resp, &d)
fmt.Printf("%+v\n", d)

关于go json decoder definition ,在这种情况下应该输入什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25509741/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com