使用自訂類型解析 golang 中的 JSON 數組
php小編百草為你帶來了一篇關於解析golang中的JSON陣列的文章。在golang中,我們可以使用自訂類型來解析複雜的JSON陣列。這種方法不僅能夠更好地理解和處理JSON數據,還能提供更靈活的操作方式。本文將詳細介紹如何使用自訂類型解析JSON數組,並給出一些實用的範例程式碼,幫助你更能理解並運用這項技巧。無論你是初學者或有一定經驗的開發者,都能從本文中受益匪淺,快來一起探索吧!
問題內容
我正在嘗試在 golang 中解析一個 json 數組,格式如下:
2牛肉840f8f9d8bb724c7736cb14989例如,json 應該包含不同表的模式。 我已嘗試以下程式碼,但架構返回空:
package main import ( "encoding/json" "io" "log" "os" ) type ColumnType struct { Name string `json:"name"` Type string `json:"type"` } type Schema struct { Schema map[string][]ColumnType } func main() { mocksSchemas, _ := os.Open("parse_config/mock_schema.json") var schemas []Schema content, err := io.ReadAll(mocksSchemas) if err != nil { log.Fatal("Error when reading mock file: ", err) } err = json.Unmarshal(content, &schemas) if err != nil { log.Fatal("Error during Unmarshal(): ", err) } defer mocksSchemas.Close() }
我做錯了什麼?如果您能指出我的錯誤,我將不勝感激 謝謝!
解決方法
要符合來源/目標 JSON,您可以使用下列類型:
type Schema map[string][]ColumnType
或者,您也可以使用更容易使用的東西:
type Schema struct { Table string Columns []ColumnType } func (s Schema) MarshalJSON() ([]byte, error) { return json.Marshal(map[string][]ColumnType{ s.Table: s.Columns, }) } func (s *Schema) UnmarshalJSON(data []byte) error { var m map[string][]ColumnType if err := json.Unmarshal(data, &m); err != nil { return err } for k, v := range m { s.Table = k s.Columns = v break } return nil }
以上是使用自訂類型解析 golang 中的 JSON 數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

詳解Java中JSON數組的排序和過濾操作在Java開發中,處理JSON資料是一項常見的任務。 JSON數組作為其中一種常用的資料結構,在實際應用中經常需要進行排序和過濾操作。本文將詳細介紹Java中JSON數組的排序和過濾操作,並提供對應的程式碼範例。一、JSON數組的排序操作使用JSONArray物件儲存JSON數組在Java中,使用json庫處理JSON數

快速上手:Java中的JSON數組合併和分割技巧在現代的軟體開發中,資料的格式和傳輸變得愈發重要。其中,JSON(JavaScriptObjectNotation)是一種常用的資料格式,特別適用於前後端互動和資料儲存。在Java開發中,我們經常需要處理JSON物件和JSON數組。本文將介紹如何在Java中合併和拆分JSON數組,以及實現這些操作的技巧和示

JSON可以用作資料交換格式,它是輕量級的且與語言無關。一個JSONArray可以解析文字字串以產生類似向量的對象,並支援java.util.List介面。我們可以使用org.json.CDL類別將JSON陣列轉換為CSV格式,它提供了一個靜態方法toString(),用於將JSONArray轉換為逗號分隔的文字。我們需要匯入org.apache.commons.io.FileUtils套件,以使用writeStringToFile()方法將資料儲存在CSV檔案中。語法publicstaticj

一個JSON 是一種輕量級的 資料交換格式,JSON的格式是 鍵值對。 JSONArray 可以解析文字從一個字串產生一個類似向量的物件並支援java.util.List介面。我們可以使用org.json.simple.JSONArray類別在Java中合併兩個JSON陣列。我們可以使用addAll() 方法(從介面 java.util.List繼承)在下面的程式中合併兩個JSON陣列。範例

入門級指南:Java中操作JSON數組的常見問題解答摘要:隨著互聯網的發展,JSON(JavaScriptObjectNotation)成為了資料交換的常用格式。在Java開發中,操作JSON數組是一項常見的任務。本文將解答Java開發中操作JSON數組的常見問題,並提供程式碼範例。如何建立一個JSON數組?在Java中,可以使用第三方函式庫如JSON-jav

JAVA中如何解析和遍歷JSON數組?掌握JSON數組處理技巧。隨著現代網路的快速發展,JSON(JavaScriptObjectNotation)已經成為了一種常用的資料交換格式。它簡潔、易讀,非常適合用於Web開發和API介面的資料傳輸。在JAVA中,解析和遍歷JSON數組是非常常見的操作。本篇文章將介紹如何使用JAVA解析JSON數組,並給予對應

MySQL數據合併主要通過GROUP_CONCAT函數和JSON函數實現。 1.使用GROUP_CONCAT函數將多條記錄連接成字符串,通過ORDERBY和SEPARATOR控制順序和分隔符,GROUPBY指定分組依據;2.對於復雜數據結構(如JSON),使用JSON_ARRAYAGG函數將多個JSON對象合併成JSON數組,需要MySQL5.7或更高版本支持。選擇方法取決於數據結構和復雜度,需注意GROUP_CONCAT長度限制,並根據實際情況選擇最優方案。

Gson函式庫提供了一個名為com.google.gson.reflect.TypeToken的類別來儲存泛型類型,透過建立一個GsonTypeToken類別並傳遞類別類型。使用這個類型,Gson可以知道在泛型類別中傳遞的類別。語法publicclassTypeToken<T>extendsObject我們可以在下面的範例中將JSON數組反序列化為通用類型的列表範例importjava.lang.reflect.Type;importjava.util.*;importcom.go
