golang json转byte
时间: 2023-07-19 21:21:24 浏览: 204
可以使用`json.Marshal`函数将一个结构体转换为JSON格式的byte数组,示例代码如下:
```go
import "encoding/json"
type Person struct {
Name string `json:"name"`
Age int `json:"age"`
}
p := Person{Name: "Alice", Age: 20}
jsonBytes, err := json.Marshal(p)
if err != nil {
// 处理错误
}
// 此时jsonBytes就是转换后的JSON格式的byte数组
```
如果要将一个JSON格式的字符串转换为byte数组,可以使用`[]byte()`强制类型转换,示例代码如下:
```go
jsonStr := `{"name":"Bob","age":30}`
jsonBytes := []byte(jsonStr)
```
相关问题
golang map转json
在Golang中,将map转换为json可以使用json.Marshal函数。该函数接受一个map作为参数,并返回一个字节数组([]byte)表示该map的json字符串。
下面是一个示例代码:
```go
import (
"encoding/json"
"fmt"
)
func main() {
m := map[string]interface{}{
"Name": "zty",
"Age": 18,
}
jsonBytes, err := json.Marshal(m)
if err != nil {
fmt.Println("转换失败:", err)
return
}
jsonString := string(jsonBytes)
fmt.Println(jsonString)
}
```
运行以上代码,将会输出转换后的json字符串。
请注意,json.Marshal函数返回的是一个字节数组([]byte),需要使用string函数将其转换为字符串。同时,如果转换过程中出现错误,需要进行错误处理。
golang Jsondecode
在 Golang 中,你可以使用标准库中的 `encoding/json` 包来解码 JSON 数据。具体步骤如下:
1. 定义一个结构体来存储解码后的数据,结构体的字段名需要与 JSON 数据中的字段名一致。
```go
type User struct {
Name string `json:"name"`
Age int `json:"age"`
}
```
2. 使用 `json.Unmarshal()` 函数将 JSON 数据解码为结构体。
```go
jsonData := []byte(`{"name": "Tom", "age": 25}`)
var user User
err := json.Unmarshal(jsonData, &user)
if err != nil {
panic(err)
}
fmt.Println(user.Name, user.Age)
```
在上面的例子中,我们将一个 JSON 字符串解码为一个 `User` 结构体,并输出了该结构体的 `Name` 和 `Age` 字段的值。
阅读全文