如何在 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
更多
Windows 10
Windows
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式
Windows/macOS/Linux
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















