在Golang中操作JSON数据可以使用encoding/json包。该包提供了将Go数据结构转换为JSON字符串的功能,以及将JSON字符串解析为Go数据结构的功能。

下面是一个简单的示例,演示了如何将Go数据结构转换为JSON字符串:

package main

import (
	"encoding/json"
	"fmt"
)

type Person struct {
	Name string `json:"name"`
	Age  int    `json:"age"`
}

func main() {
	person := Person{
		Name: "John",
		Age:  30,
	}

	jsonData, err := json.Marshal(person)
	if err != nil {
		fmt.Println("JSON encoding error:", err)
		return
	}

	fmt.Println(string(jsonData))
}

输出结果为:{"name":"John","age":30}

在上面的示例中,我们定义了一个Person结构体,并使用json标签指定了JSON字段的名称。然后,我们使用json.Marshal函数将person对象转换为JSON字符串。

如果要将JSON字符串解析为Go数据结构,可以使用json.Unmarshal函数。下面是一个示例:

package main

import (
	"encoding/json"
	"fmt"
)

type Person struct {
	Name string `json:"name"`
	Age  int    `json:"age"`
}

func main() {
	jsonData := []byte(`{"name":"John","age":30}`)

	var person Person
	err := json.Unmarshal(jsonData, &person)
	if err != nil {
		fmt.Println("JSON decoding error:", err)
		return
	}

	fmt.Println(person.Name, person.Age)
}

输出结果为:John 30

在上面的示例中,我们使用json.Unmarshal函数将JSON字符串解析为person对象。需要注意的是,json.Unmarshal函数的第二个参数是指向目标对象的指针。

除了上述示例中的基本操作,encoding/json包还提供了其他一些功能,例如处理嵌套结构、忽略空值字段、自定义字段转换等。你可以查阅官方文档以了解更多信息:https://golang.org/pkg/encoding/json/

golang 操作json

原文地址: https://www.cveoy.top/t/topic/hLqz 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录