Jadual Kandungan
Kandungan soalan
Penyelesaian
Rumah pembangunan bahagian belakang Golang Menghuraikan tatasusunan JSON dalam golang menggunakan jenis tersuai

Menghuraikan tatasusunan JSON dalam golang menggunakan jenis tersuai

Feb 09, 2024 am 10:39 AM
tatasusunan json

使用自定义类型解析 golang 中的 JSON 数组

editor php Baicao membawakan anda artikel tentang menghuraikan tatasusunan JSON dalam golang. Dalam golang, kita boleh menggunakan jenis tersuai untuk menghuraikan tatasusunan JSON yang kompleks. Pendekatan ini bukan sahaja membolehkan pemahaman dan pemprosesan data JSON yang lebih baik, tetapi juga menyediakan cara operasi yang lebih fleksibel. Artikel ini akan memperkenalkan secara terperinci cara menggunakan jenis tersuai untuk menghuraikan tatasusunan JSON dan memberikan beberapa kod contoh praktikal untuk membantu anda memahami dan menggunakan teknik ini dengan lebih baik. Sama ada anda seorang pemula atau pembangun berpengalaman, anda boleh mendapat banyak manfaat daripada artikel ini, datang dan teroka bersama-sama!

Kandungan soalan

Saya cuba menghuraikan tatasusunan json dalam golang, formatnya adalah seperti berikut:

2beef840f8f9d8bb724c7736cb14989

Sebagai contoh, json harus mengandungi skema jadual yang berbeza. Saya telah mencuba kod berikut tetapi skema kembali kosong:

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()
}
Salin selepas log masuk

Apa salah saya? Saya akan berterima kasih jika anda boleh menunjukkan kesilapan saya Terima kasih!

Penyelesaian

Untuk memadankan sumber/destinasi JSON anda boleh menggunakan jenis berikut:

type Schema map[string][]ColumnType
Salin selepas log masuk

Sebagai alternatif, anda boleh menggunakan sesuatu yang lebih mudah digunakan:

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
}
Salin selepas log masuk

Atas ialah kandungan terperinci Menghuraikan tatasusunan JSON dalam golang menggunakan jenis tersuai. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Penjelasan terperinci tentang operasi pengisihan dan penapisan tatasusunan JSON di Java. Penjelasan terperinci tentang operasi pengisihan dan penapisan tatasusunan JSON di Java. Sep 06, 2023 pm 03:22 PM

Penjelasan terperinci tentang operasi pengisihan dan penapisan tatasusunan JSON dalam Java Dalam pembangunan Java, memproses data JSON ialah tugas biasa. Sebagai salah satu struktur data yang biasa digunakan, tatasusunan JSON selalunya memerlukan operasi pengisihan dan penapisan dalam aplikasi praktikal. Artikel ini akan memperkenalkan secara terperinci operasi pengisihan dan penapisan tatasusunan JSON dalam Java dan memberikan contoh kod yang sepadan. 1. Operasi pengisihan tatasusunan JSON menggunakan objek JSONArray untuk menyimpan tatasusunan JSON dalam Java dan menggunakan pustaka json untuk memproses data JSON.

Bermula dengan cepat: Teknik penggabungan dan pemisahan tatasusunan JSON dalam Java. Bermula dengan cepat: Teknik penggabungan dan pemisahan tatasusunan JSON dalam Java. Sep 06, 2023 am 10:21 AM

Bermula dengan cepat: Teknik penggabungan dan pemisahan tatasusunan JSON dalam Java Dalam pembangunan perisian moden, format dan penghantaran data telah menjadi semakin penting. Antaranya, JSON (JavaScriptObjectNotation) ialah format data yang biasa digunakan, terutamanya sesuai untuk interaksi hadapan dan belakang dan penyimpanan data. Dalam pembangunan Java, kita sering perlu berurusan dengan objek JSON dan tatasusunan JSON. Artikel ini menerangkan cara untuk menggabungkan dan memisahkan tatasusunan JSON dalam Java, bersama-sama dengan petua dan contoh untuk melaksanakan operasi ini.

Bagaimana untuk menukar tatasusunan JSON ke CSV di Jawa? Bagaimana untuk menukar tatasusunan JSON ke CSV di Jawa? Aug 21, 2023 pm 08:27 PM

JSON boleh digunakan sebagai format pertukaran data, ia ringan dan bebas bahasa. JSONArray boleh menghuraikan rentetan teks untuk menghasilkan objek seperti vektor dan menyokong antara muka java.util.List. Kami boleh menukar tatasusunan JSON kepada format CSV menggunakan kelas org.json.CDL, yang menyediakan kaedah statik kepadaString() untuk menukar JSONArray kepada teks yang dipisahkan koma. Kita perlu mengimport pakej org.apache.commons.io.FileUtils untuk menyimpan data dalam fail CSV menggunakan kaedah writeStringToFile(). Syntaxpublicstaticj

Bagaimanakah kita boleh menggabungkan dua tatasusunan JSON dalam Java? Bagaimanakah kita boleh menggabungkan dua tatasusunan JSON dalam Java? Aug 20, 2023 pm 11:05 PM

JSON ialah format pertukaran data yang ringan dan format JSON ialah pasangan nilai kunci. JSONArray boleh menghuraikan teks daripada rentetan untuk menjana objek seperti vektor dan menyokong antara muka java.util.List. Kita boleh menggabungkan dua tatasusunan JSON dalam Java menggunakan kelas org.json.simple.JSONArray. Kita boleh menggabungkan dua tatasusunan JSON dalam atur cara berikut menggunakan kaedah addAll() (diwarisi daripada antara muka java.util.List). Contoh

Panduan Pemula: Soalan Lazim tentang Memanipulasi Tatasusunan JSON di Jawa. Panduan Pemula: Soalan Lazim tentang Memanipulasi Tatasusunan JSON di Jawa. Sep 06, 2023 am 11:22 AM

Panduan Pemula: Soalan Lazim tentang Memanipulasi Tatasusunan JSON dalam Java Ringkasan: Dengan pembangunan Internet, JSON (JavaScriptObjectNotation) telah menjadi format biasa untuk pertukaran data. Dalam pembangunan Java, memanipulasi tatasusunan JSON adalah tugas biasa. Artikel ini akan menjawab soalan biasa tentang mengendalikan tatasusunan JSON dalam pembangunan Java dan memberikan contoh kod. Bagaimana untuk membuat tatasusunan JSON? Di Java, anda boleh menggunakan perpustakaan pihak ketiga seperti JSON-java

Bagaimana untuk menghuraikan dan melintasi tatasusunan JSON dalam JAVA? Kuasai kemahiran pemprosesan tatasusunan JSON. Bagaimana untuk menghuraikan dan melintasi tatasusunan JSON dalam JAVA? Kuasai kemahiran pemprosesan tatasusunan JSON. Sep 06, 2023 am 11:30 AM

Bagaimana untuk menghuraikan dan melintasi tatasusunan JSON dalam JAVA? Kuasai kemahiran pemprosesan tatasusunan JSON. Dengan perkembangan pesat Internet moden, JSON (JavaScriptObjectNotation) telah menjadi format pertukaran data yang biasa digunakan. Ia ringkas, mudah dibaca dan sangat sesuai untuk penghantaran data dalam pembangunan web dan antara muka API. Dalam JAVA, menghuraikan dan melintasi tatasusunan JSON adalah operasi yang sangat biasa. Artikel ini akan memperkenalkan cara menggunakan JAVA untuk menghuraikan tatasusunan JSON dan memberikan yang sepadan

Bagaimana untuk menyahsiri tatasusunan JSON kepada senarai jenis generik di Jawa? Bagaimana untuk menyahsiri tatasusunan JSON kepada senarai jenis generik di Jawa? Aug 20, 2023 pm 12:13 PM

Pustaka Gson menyediakan kelas bernama com.google.gson.reflect.TypeToken untuk menyimpan jenis generik dengan mencipta kelas GsonTypeToken dan menghantar jenis kelas. Menggunakan jenis ini, Gson boleh mengetahui kelas yang diluluskan dalam kelas generik. Syntax publicclassTypeToken<T>extendsObject Kami boleh menyahsiri tatasusunan JSON ke dalam senarai jenis generik dalam contoh berikut importjava.lang.reflect.Type;importjava.util.*;importcom.go

Menghuraikan tatasusunan JSON dalam golang menggunakan jenis tersuai Menghuraikan tatasusunan JSON dalam golang menggunakan jenis tersuai Feb 09, 2024 am 10:39 AM

Saya cuba menghuraikan tatasusunan json dalam golang dengan format berikut: 2beef840f8f9d8bb724c7736cb14989 Sebagai contoh, json harus mengandungi skema jadual yang berbeza. Saya telah mencuba kod berikut tetapi skema kembali kosong: packagemainimport("encoding/json""io""log""os")typeColumnTypestruct{Namestring`json:"name"`Typestring`json:"

See all articles