Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Menambah Kunci 'kira' pada Rentetan JSON dengan Struktur Tidak Diketahui?
Menyahkod JSON dengan Struktur Tidak Diketahui
Persoalan timbul apabila cuba mengubah suai rentetan JSON bagi struktur yang tidak diketahui. Objektifnya adalah untuk menambah kunci "kira" pada JSON sedia ada:
JSON Asal:
{ "votes": { "option_A": "3" } }
JSON yang Diingini:
{ "votes": { "option_A": "3" }, "count": "1" }
Cabarannya terletak pada kebolehubahan struktur JSON, menjadikannya tidak praktikal untuk menggunakan penyahkod JSON konvensional dengan pratentukan struktur.
Penyelesaian: Unmarshal into a Map
Untuk mengatasi cabaran ini, pendekatan praktikal ialah unmarshal JSON ke dalam peta rentetan ke antara muka:
var raw map[string]interface{} json.Unmarshal(in, &raw)
Ini membolehkan manipulasi data JSON berdasarkan nilai kunci. Dalam kes ini, kunci "kira" baharu boleh ditambah:
raw["count"] = 1
Untuk menjana rentetan JSON yang diingini, peta yang diubah suai disusun semula menjadi rentetan JSON:
out, err := json.Marshal(raw)
Sebagaimana hasilnya, struktur JSON yang tidak diketahui boleh diubah suai dan kekunci "kira" boleh ditambah seperti yang dikehendaki.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menambah Kunci 'kira' pada Rentetan JSON dengan Struktur Tidak Diketahui?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!