Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Golang multiple json

Golang multiple json

PHPz
PHPzke hadapan
2024-02-09 10:42:09874semak imbas

Golang 多个 json

editor php Banana akan memperkenalkan kepada anda cara memproses berbilang JSON di Golang. Di Golang, kita selalunya perlu mengendalikan berbilang objek JSON Sebagai contoh, data yang diperoleh daripada antara muka API mungkin tatasusunan JSON. Untuk memudahkan pengendalian situasi ini, kami boleh menggunakan pakej JSON Golang untuk menghuraikan dan memproses berbilang objek JSON. Menggunakan pakej JSON, kami boleh menghuraikan data JSON ke dalam struktur dalam Golang, dan kemudian mengendalikan dan memproses struktur. Dengan cara ini, kita boleh mengendalikan berbilang objek JSON dengan mudah. Sudah tentu, kami juga boleh menggunakan beberapa perpustakaan pihak ketiga, seperti GJSON, untuk memproses berbilang objek JSON dengan lebih fleksibel dan cekap. Secara umum, Golang menyediakan pelbagai cara untuk memproses berbilang objek JSON dan pembangun boleh memilih kaedah yang sesuai mengikut keperluan mereka sendiri.

Kandungan soalan

Saya mempunyai json yang dihantar kepada pelanggan, ia mempunyai 2 varian, semua bezanya adalah nama medan push/pull, bagaimana saya boleh melakukan ini tanpa menduplikasi tag struct untuk satu

"message": "Project updated successfully.",
        "data": {
            "push": {
                "projects": [
                    {
                        "name": "test",
                        "summary": "nn",
                    
                    }
                ],
                "events": []
            }
        }
    }
    "message": "Project updated successfully.",
        "data": {
            "pull": {
                "projects": [
                    {
                        "name": "test",
                        "summary": "nn",
                    
                    }
                ],
                "events": []
            }
        }
    }

`

Saya sedang berfikir untuk membuat antara muka medan tarikh dan menggantikan struktur yang berbeza

Penyelesaian

Hanya tentukan satu jenis dengan medan Tolak dan Tarik:

type A struct {
    Message string `json:"message"`
    Data    struct {
        Push *B `json:"push,omitempty"`
        Pull *B `json:"pull,omitempty"`
    } `json:"data"`
}

type B struct {
    Projects []struct {
        Name    string `json:"name"`
        Summary string `json:"summary"`
    } `json:"projects"`
    Events []interface{} `json:"events"`
}

Semak sifar selepas penyahkodan untuk menentukan jenis acara yang diwakilinya.

Atas ialah kandungan terperinci Golang multiple json. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam