"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语言(也称为Golang)的底层主要是由C语言编写的,并且在后续的版本中,Go语言完成了语言自举,即使用Go语言自身来编写编译器。这使得Go语言的编译器和运行时环...

  • golang协程和线程的区别有哪些

    Golang协程(Goroutine)和线程的区别主要体现在以下几个方面: 轻量级:Golang的协程是由Golang运行时管理的,相较于操作系统级的线程,协程更轻量级,启动和销...

  • golang动态生成struct的方法是什么

    在Go语言中,可以使用reflect包来动态生成struct。下面是一个示例代码:
    package main
    import (
    "fmt"
    "reflect"
    )
    type Person ...

  • golang怎么爬取动态内容

    要爬取动态内容,你可以使用以下几种方法:1. 使用headless浏览器:可以使用一些基于Chrome或Firefox的headless浏览器库,如Puppeteer或Selenium。这些库可以模拟...

  • 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...