日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務,提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

php小編百草為你帶來了一篇關(guān)于解析golang中的JSON數(shù)組的文章。在golang中,我們可以使用自定義類型來解析復雜的JSON數(shù)組。這種方法不僅能夠更好地理解和處理JSON數(shù)據(jù),還能提供更靈活的操作方式。本文將詳細介紹如何使用自定義類型解析JSON數(shù)組,并給出一些實用的示例代碼,幫助你更好地理解和運用這一技巧。無論你是初學者還是有一定經(jīng)驗的開發(fā)者,都能從本文中受益匪淺,快來一起探索吧!

問題內(nèi)容

我正在嘗試在 golang 中解析一個 json 數(shù)組,格式如下:

2牛肉840f8f9d8bb724c7736cb14989

例如,json 應該包含不同表的模式。
我已嘗試以下代碼,但架構(gòu)返回空:

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
}

登錄后復制

分享到:
標簽:json數(shù)組
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定