如何在 Golang 中解析 JSON 数据?
作者:CalmWind
时间:2024-05-21
浏览:0
Golang解析JSON数据包含四个主要步骤:导入आवश्यक包,包含json、fmt和ioutil。从文件中读取JSON数据。将JSON数据解码到结构体或map中。访问map中的键值对或使用解码的结构体。
Golang 解析 JSON 数据包含四个主要步骤:导入 आवश्यक包,包含 json、fmt 和 ioutil。从文件中读取 JSON 数据。将 JSON 数据解码到结构体或 map 中。访问 map 中的键值对或使用解码的结构体。

如何在 Golang 中解析 JSON 数据
Golang 提供了强大的工具来处理 JSON 数据,可以通过以下步骤实现:
1. 导入必要的包
import (
"encoding/json"
"fmt"
"io/ioutil"
)2. 从文件读取 JSON 数据
jsonFile, err := ioutil.ReadFile("data.json")
if err != nil {
fmt.Println("Error reading JSON file:", err)
return
}3. 解码 JSON 数据到结构体或 map 中
解码到结构体:
type Person struct {
Name string
Age int
}
var person Person
err = json.Unmarshal(jsonFile, &person)
if err != nil {
fmt.Println("Error decoding JSON data:", err)
return
}解码到 map 中:
var data map[string]interface{}
err = json.Unmarshal(jsonFile, &data)
if err != nil {
fmt.Println("Error decoding JSON data:", err)
return
}
// 访问 map中的键值对
fmt.Println("Name:", data["Name"])实战案例
读取 JSON 文件并打印姓名和年龄:
package main
import (
"encoding/json"
"fmt"
"io/ioutil"
)
type Person struct {
Name string
Age int
}
func main() {
jsonFile, err := ioutil.ReadFile("data.json")
if err != nil {
fmt.Println("Error reading JSON file:", err)
return
}
var person Person
err = json.Unmarshal(jsonFile, &person)
if err != nil {
fmt.Println("Error decoding JSON data:", err)
return
}
fmt.Printf("Name: %s, Age: %d\n", person.Name, person.Age)
}保存以下 JSON 数据到文件中:
{
"Name": "John Doe",
"Age": 30
}然后运行程序,输出如下:
Name: John Doe, Age: 30
作者最新文章
PDF转图片在线怎么用?资料整理的简单流程
2026-09-03 12:12
科大讯飞发布星火多模态大模型X2-VL,基于全国产算力训练
2026-08-25 16:21
雷军小米YU7装600斤车厘子慰问工程师被指违规 回应:封闭道路分装 交警称后排满载不合法
2026-08-25 15:23
Anthropic禁用Fable 5模型,亚马逊CEO贾西或是背后导火索
2026-08-25 14:58
长虹T06(双4G)忘了手机密码怎么办?
2026-08-25 13:40
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多

































