"fmt"
)
func main() {
data := []byte(""> "fmt"
)
func main() {
data := []byte("">
117.info
人生若只如初见

golang []byte转json和json转[]byte

在Go语言中,可以使用encoding/json包来实现[]byte与JSON之间的转换。

[]byte转换为JSON,可以使用json.Marshal()函数,它接受一个任意类型的值作为参数,返回一个JSON格式的[]byte。例如:

package main
import (
"encoding/json"
"fmt"
)
func main() {
data := []byte("Hello, World!")
jsonData, err := json.Marshal(data)
if err != nil {
fmt.Println("JSON encoding error:", err)
return
}
fmt.Println(string(jsonData))
}

输出结果为:

"SGVsbG8sIFdvcmxkIQ=="

将JSON转换为[]byte,可以使用json.Unmarshal()函数,它接受一个JSON格式的[]byte作为参数,并将JSON解码为相应的Go值。例如:

package main
import (
"encoding/json"
"fmt"
)
func main() {
jsonData := []byte(`"SGVsbG8sIFdvcmxkIQ=="`)
var data []byte
err := json.Unmarshal(jsonData, &data)
if err != nil {
fmt.Println("JSON decoding error:", err)
return
}
fmt.Println(string(data))
}

输出结果为:

Hello, World!

请注意,在使用json.Unmarshal()函数时,需要将目标变量的指针作为参数传递给函数。这样才能将解码后的值正确地赋给目标变量。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe356AzsLBwNUAFU.html

推荐文章

  • golang任务调度框架怎么使用

    在Go语言中,可以使用多种任务调度框架来进行任务的管理和调度,例如: Gin: Gin是一个高性能的Go语言Web框架,它支持路由和中间件,可以用于创建RESTful API。可...

  • 如何在Golang中使用指针从C中的数组访问数据

    在Golang中,可以使用unsafe.Pointer类型来访问C中的数组数据。
    假设有以下C代码:
    #include void print_array(int *arr, int length) {
    for (in...

  • golang依赖注入怎么实现

    在Go语言中实现依赖注入可以使用两种常见的方式:构造函数注入和接口注入。 构造函数注入: 构造函数注入是通过在结构体中定义一个包含所需依赖的构造函数来实现...

  • golang怎么定义byte数组

    在Golang中,可以使用以下两种方式来定义byte数组:1. 使用字面量方式定义:可以使用`[]byte{}`来定义一个空的byte数组,也可以在花括号内放置具体的byte值来初始...

  • Android——ContentProvider详解

    ContentProvider是Android中的一个组件,用于提供数据给其他应用程序使用。ContentProvider可以实现数据共享、数据访问控制和数据存储等功能。下面对ContentProv...

  • json.stringify()详解

    JSON.stringify() 是一个 JSON 对象的方法,用于将一个 JavaScript 值转换为一个 JSON 字符串。
    语法
    JSON.stringify(value[, replacer[, space]]) 参...

  • C#中ManualResetEvent用法总结

    ManualResetEvent是C#中的一个线程同步原语,用于在多线程环境下进行线程间的同步与通信。以下是对ManualResetEvent的用法总结: 创建ManualResetEvent对象: Ma...

  • window.history详细解析

    window.history是JavaScript中的一个对象,表示浏览器的历史记录。它提供了一些方法和属性,允许开发人员在浏览器历史记录中进行导航和操作。
    window.histo...