在Go中制作嵌套的JSON响应可以通过使用结构体和标签来实现。下面是一个示例代码:
package main
import (
"encoding/json"
"fmt"
)
type Person struct {
Name string `json:"name"`
Age int `json:"age"`
Address Address `json:"address"`
}
type Address struct {
City string `json:"city"`
Country string `json:"country"`
}
func main() {
person := Person{
Name: "John",
Age: 30,
Address: Address{
City: "New York",
Country: "USA",
},
}
jsonData, err := json.Marshal(person)
if err != nil {
fmt.Println("JSON encoding error:", err)
return
}
fmt.Println(string(jsonData))
}
在上面的代码中,我们定义了一个Person
结构体和一个Address
结构体,Person
结构体中包含了一个Address
结构体作为嵌套字段。我们使用json
标签来指定JSON中的字段名。
在main
函数中,我们创建了一个Person
对象,并使用json.Marshal
函数将其转换为JSON格式的字节数组。最后,我们将字节数组转换为字符串并打印出来。
运行上述代码,输出结果如下:
{"name":"John","age":30,"address":{"city":"New York","country":"USA"}}
这个例子展示了如何在Go中制作嵌套的JSON响应。你可以根据需要定义更复杂的嵌套结构体来表示更复杂的JSON响应。
领取专属 10元无门槛券
手把手带您无忧上云