gpt4 book ai didi

json - 从字节数组创建结构

转载 作者:IT王子 更新时间:2023-10-29 02:33:36 26 4
gpt4 key购买 nike

我使用 json.Marshal接口(interface)接受 map[string]interface{} 并将其转换为 []byte(这是字节数组吗?)

data, _ := json.Marshal(value)
log.Printf("%s\n", data)

我得到了这个输出

{"email_address":"joe@me.com","street_address":"123 Anywhere Anytown","name":"joe","output":"Hello World","status":1}

底层字节属于下面声明的结构

type Person struct {
Name string `json:"name"`
StreetAddress string `json:"street_address"`
Output string `json:"output"`
Status float64 `json:"status"`
EmailAddress string `json:"email_address",omitempty"`
}

我想获取数据并生成一个类型为Person struct的变量

我该怎么做?

最佳答案

你使用json.Unmarshal:

package main

import (
"encoding/json"
"fmt"
)

type Person struct {
Name string `json:"name"`
StreetAddress string `json:"street_address"`
Output string `json:"output"`
Status float64 `json:"status"`
EmailAddress string `json:"email_address",omitempty"`
}

func main() {
data := []byte(`{"email_address":"joe@me.com","street_address":"123 Anywhere Anytown","name":"joe","output":"Hello World","status":1}`)
var p Person
if err := json.Unmarshal(data, &p); err != nil {
panic(err)
}
fmt.Printf("%#v\n", p)
}

输出:

main.Person{Name:"joe", StreetAddress:"123 Anywhere Anytown", Output:"Hello World", Status:1, EmailAddress:"joe@me.com"}

关于json - 从字节数组创建结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35965579/

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