tft每日頭條

 > 科技

 > go對任意格式的json進行解析

go對任意格式的json進行解析

科技 更新时间:2024-07-31 13:18:41
前言

Json是開發中最常用的數據格式,無論API開發,文檔存儲,或者MongoDB數據庫,都離不開Json格式的處理。

本文教你快速掌握GO語言解析Json文件的方法。

go對任意格式的json進行解析(3分鐘微文檔Go語言解析Json文件)1

Go與Json

一個Json文件

這個是示例文件,命名為 User.json,存儲用戶信息。

go對任意格式的json進行解析(3分鐘微文檔Go語言解析Json文件)2

User.json文件内容

文檔結構就不做介紹了,都是鍵值對,非常容易理解。

打開Json文件

下面使用 os 包内的 Open 函數打開文件。

go對任意格式的json進行解析(3分鐘微文檔Go語言解析Json文件)3

打開文檔,并做判斷。

聲明數據結構

為了與Json字典結構對應,聲明相應的數據結構。

go對任意格式的json進行解析(3分鐘微文檔Go語言解析Json文件)4

聲明數據結構

因為Json文檔數據結構固定,所以程序内使用相應的字段進行映射。

解析Json文檔

上面使用 os.Open打開 User.json 文件到 jsonFile 變量,接着通過 ioutil 讀寫文件。并使用 encoding/json 包函數 unmarshal 解析文本流到數據結構 User。

go對任意格式的json進行解析(3分鐘微文檔Go語言解析Json文件)5

字段映射,解析

特殊地,非結構化數據

如果json文件的結構,不是标準格式,摻雜了各種層級的嵌套,那麼就不好用數據結構嵌套解決。我們需要單獨處理。

go對任意格式的json進行解析(3分鐘微文檔Go語言解析Json文件)6

非結構化json的處理方式

可以看到,打開關閉文件相同,讀入文件相同。特殊的地方是,我們不在使用 struct 結構存儲數據,因為不可知,所以使用 interface{} 字典存儲。

後續使用鍵方式讀取相應值。原理是相通的。

結語

掌握了三步,基本就掌握了json的操作。

對于程序中,能夠做到結構化存儲的,盡量結構化存儲,這樣數據層級不會來回變,程序健壯性可以增強。

我是@程序員小助手,持續分享編程與程序員成長相關的内容,歡迎關注~~

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved