Rumah pembangunan bahagian belakang Golang Gunakan fungsi json.NewDecoder dan json.NewEncoder dalam golang untuk melaksanakan pengekodan penstriman dan penyahkodan JSON

Gunakan fungsi json.NewDecoder dan json.NewEncoder dalam golang untuk melaksanakan pengekodan penstriman dan penyahkodan JSON

Nov 17, 2023 am 11:14 AM
- golang - json - Pengekodan penstriman

Gunakan fungsi json.NewDecoder dan json.NewEncoder dalam golang untuk melaksanakan pengekodan penstriman dan penyahkodan JSON

Gunakan json.NewDecoder dan json.NewEncoder berfungsi dalam golang untuk melaksanakan penstriman pengekodan dan penyahkodan JSON

JSON ialah format pertukaran data ringan yang digunakan secara meluas dalam aplikasi web kerana ia mudah dibaca dan ditulis Program dan moden API. Dalam golang, kita boleh menggunakan pakej json untuk mengekod dan menyahkod data JSON. Fungsi json.NewDecoder dan json.NewEncoder menyediakan cara penstriman untuk memproses data JSON.

Kelebihan Pengekodan dan Penyahkodan Penstriman Data JSON

Kelebihan utama Pengekodan dan Penyahkodan Penstriman Data JSON ialah mereka boleh memproses data JSON langkah demi langkah tanpa menunggu keseluruhan fail atau aliran data dibaca sepenuhnya, yang menjadikan pemprosesan sangat data atau fail Penstriman JSON yang besar menjadi lebih cekap dan lebih mudah.

Pelaksanaan penyahkodan penstriman data JSON

Di Golang, fungsi json.NewDecoder boleh digunakan untuk menyahkod data JSON kepada nilai antara muka untuk digunakan dalam pemprosesan seterusnya. Berikut ialah contoh kod ringkas:

package main

import (
    "encoding/json"
    "fmt"
    "strings"
)

func main() {

    // 定义一个JSON字符串
    jsonString := `{"name":"Jack", "age":28, "gender":"Male", "hobbies":["reading", "running", "traveling"]}`

    // 使用NewDecoder函数创建一个解码器
    decoder := json.NewDecoder(strings.NewReader(jsonString))

    // 逐步解码JSON数据
    var data map[string]interface{}
    for decoder.More() {
        if err := decoder.Decode(&data); err != nil {
            panic(err)
        }
        fmt.Println(data)
    }
}
Salin selepas log masuk

Dalam kod di atas, kami mula-mula mentakrifkan rentetan JSON. Seterusnya, gunakan fungsi strings.NewReader untuk menukarnya kepada antara muka io.Reader. Kami kemudian menggunakan fungsi json.NewDecoder untuk mencipta penyahkod yang boleh menyahkod data JSON secara progresif ke dalam nilai peta jenis[rentetan]antara muka{}. Akhir sekali, kami menggunakan penyahkodan langkah demi langkah untuk menyahkod data JSON kepada data boleh ubah, dan kemudian mencetaknya. Dengan menyahkod langkah demi langkah, kami boleh memproses strim data atau fail JSON yang besar dengan cekap tanpa perlu menunggu sehingga keseluruhan fail atau strim data dibaca sepenuhnya.

Pelaksanaan pengekodan penstriman data JSON

Sama seperti penyahkodan penstriman data JSON, di Golang, kita boleh menggunakan fungsi json.NewEncoder untuk mengekod data JSON ke dalam strim aksara. Kaedah output penstriman ini membolehkan kami menghantar atau menyimpan data JSON dalam ketulan atas permintaan. Berikut ialah contoh kod ringkas pengekodan penstriman data JSON golang:

package main

import (
    "encoding/json"
    "fmt"
    "os"
)

func main() {

    // 创建一个json编码器
    encoder := json.NewEncoder(os.Stdout)

    // 创建需要编码的数据结构
    data := struct {
        Name    string   `json:"name"`
        Age     int      `json:"age"`
        Gender  string   `json:"gender"`
        Hobbies []string `json:"hobbies"`
    }{
        Name:    "Jack",
        Age:     28,
        Gender:  "Male",
        Hobbies: []string{"reading", "running", "traveling"},
    }

    // 将数据结构编码为JSON流并输出到控制台
    if err := encoder.Encode(&data); err != nil {
        panic(err)
    }
}
Salin selepas log masuk

Dalam kod di atas, kami mula-mula mencipta pengekod menggunakan fungsi json.NewEncoder dan menyambungkannya ke os.Stdout supaya data JSON kami akan dikeluarkan ke konsol . Seterusnya, kami mencipta struktur data yang perlu dikodkan dan menggunakan pengekod untuk mengekodnya ke dalam aliran JSON. Akhir sekali, kami menggunakan fungsi Encode untuk mengekod struktur data ke dalam aliran JSON dan mengeluarkannya ke konsol.

Ringkasan

Penstriman data JSON ialah cara yang cekap untuk memproses strim data atau fail JSON yang besar. Dengan menggunakan fungsi json.NewDecoder dan json.NewEncoder, kami boleh memproses dan menghantar sebahagian daripada data JSON atas permintaan. Apabila melakukan pengekodan dan penyahkodan penstriman, kita tidak perlu menunggu sehingga keseluruhan fail atau aliran data dibaca sepenuhnya, yang menjadikan pemprosesan JSON lebih cekap dan fleksibel.

Atas ialah kandungan terperinci Gunakan fungsi json.NewDecoder dan json.NewEncoder dalam golang untuk melaksanakan pengekodan penstriman dan penyahkodan JSON. 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)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
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)

Bagaimana untuk menukar data kepada format JSON dalam PHP Bagaimana untuk menukar data kepada format JSON dalam PHP Feb 18, 2024 pm 02:23 PM

PHP ialah bahasa skrip sebelah pelayan sumber terbuka yang sangat popular, terutamanya sesuai untuk membangunkan aplikasi web. Dalam pembangunan web, penghantaran data dan interaksi adalah sangat penting. JSON (JavaScriptObjectNotation), sebagai format pertukaran data yang ringan, digunakan secara meluas dalam penghantaran dan interaksi data hadapan dan belakang. PHP menyediakan berbilang cara untuk mengeluarkan data dalam format JSON Tiga daripada cara biasa akan diperkenalkan di bawah, bersama-sama dengan contoh kod tertentu. Gunakan j

Selesaikan ralat Golang: Cara menyelesaikan ralat pengecam yang tidak ditentukan Selesaikan ralat Golang: Cara menyelesaikan ralat pengecam yang tidak ditentukan Nov 25, 2023 pm 12:09 PM

Apabila membangun dengan Golang, anda sering menghadapi ralat undefinedidentifier Ralat ini disebabkan oleh kehadiran pengecam yang tidak ditentukan dalam kod. Dalam artikel ini, kami akan membincangkan ralat biasa undefinedidentifier dan penyelesaiannya. 1. Mengapakah ralat undefinedidentifier berlaku? Golang ialah bahasa yang ditaip secara statik, jadi

Kelebihan dan Kelemahan Menggunakan Golang untuk Membangunkan Permainan Mudah Alih Kelebihan dan Kelemahan Menggunakan Golang untuk Membangunkan Permainan Mudah Alih Mar 05, 2024 pm 03:51 PM

Kelebihan dan Kelemahan Menggunakan Golang untuk Membangunkan Permainan Mudah Alih Dengan populariti peranti mudah alih dan peningkatan berterusan prestasi mereka, pasaran permainan mudah alih menjadi semakin popular, menarik lebih ramai pembangun untuk menyertainya. Apabila memilih bahasa pembangunan, Golang, sebagai bahasa yang pantas, cekap dan mudah dipelajari, menarik perhatian ramai pembangun. Artikel ini akan membincangkan kelebihan dan kekurangan menggunakan Golang untuk membangunkan permainan mudah alih, dan menggambarkannya melalui contoh kod khusus. Kelebihan: Cross-platform yang kuat: Golang boleh disusun menjadi binari untuk platform yang berbeza

Kaedah untuk menyelesaikan masalah data JSON Cina yang kacau dalam PHP Kaedah untuk menyelesaikan masalah data JSON Cina yang kacau dalam PHP Mar 09, 2024 am 08:48 AM

Kaedah untuk menyelesaikan masalah data JSON Cina yang kacau dalam PHP Apabila membangunkan menggunakan PHP, anda sering menghadapi situasi mengeluarkan data dalam format JSON. Walau bagaimanapun, kadangkala aksara bercelaru muncul apabila data Cina dikembalikan, yang membawa masalah pada paparan dan pemprosesan data halaman hadapan. Artikel ini akan memperkenalkan beberapa kaedah untuk menyelesaikan masalah data JSON Cina yang kacau-bilau dalam PHP, dengan harapan dapat membantu pembangun menangani masalah biasa ini dengan lebih baik. Beberapa penyelesaian yang biasa digunakan akan diperkenalkan secara terperinci di bawah, dengan contoh kod khusus. Kaedah 1: Gunakan

Bagaimana untuk meningkatkan kecekapan Select Channels Go pengaturcaraan serentak dalam golang Bagaimana untuk meningkatkan kecekapan Select Channels Go pengaturcaraan serentak dalam golang Sep 28, 2023 am 10:55 AM

Kaedah untuk meningkatkan kecekapan pengaturcaraan serentak SelectChannelsGo dalam golang Pengenalan: Dengan pembangunan berterusan teknologi komputer, pengaturcaraan berbilang teras dan serentak telah beransur-ansur menjadi hala tuju penting dalam pembangunan aplikasi. Dalam bahasa Go, pengaturcaraan serentak boleh dicapai dengan mudah dengan menggunakan goroutine dan saluran. Pernyataan Pilih ialah alat utama untuk mengurus dan mengawal berbilang saluran. Dalam artikel ini, kami akan meneroka cara meningkatkan penggunaan Sele dalam golang

Analisis dan amalan: Atomiti tugasan pembolehubah di Golang Analisis dan amalan: Atomiti tugasan pembolehubah di Golang Jan 03, 2024 am 09:11 AM

Analisis dan amalan keatoman penugasan pembolehubah di Golang Dalam pengaturcaraan serentak, adalah penting untuk memastikan keatoman data. Di Golang, beberapa mekanisme disediakan untuk memastikan keatoman tugasan pembolehubah Artikel ini akan memberi tumpuan kepada analisis dan amalan topik ini. 1. Konsep operasi atom Dalam pengaturcaraan serentak, operasi atom merujuk kepada operasi yang tidak akan diganggu oleh benang lain Ia sama ada selesai atau tidak dilaksanakan sama sekali. Di Golang, operasi atom boleh dilaksanakan melalui fungsi dalam pakej penyegerakan/atom. Fungsi-fungsi ini

Gunakan fungsi json.NewDecoder dan json.NewEncoder dalam golang untuk melaksanakan pengekodan penstriman dan penyahkodan JSON Gunakan fungsi json.NewDecoder dan json.NewEncoder dalam golang untuk melaksanakan pengekodan penstriman dan penyahkodan JSON Nov 17, 2023 am 11:14 AM

Menstrim pengekodan dan penyahkodan JSON menggunakan fungsi json.NewDecoder dan json.NewEncoder dalam golang JSON ialah format pertukaran data ringan yang digunakan secara meluas dalam aplikasi web dan API moden kerana kemudahan membaca dan menulisnya. Dalam golang, kita boleh menggunakan pakej json untuk mengekod dan menyahkod data JSON. Fungsi json.NewDecoder dan json.NewEncoder menyediakan strim

Keperluan pekerjaan dan pengenalan kemahiran untuk jurutera Golang Keperluan pekerjaan dan pengenalan kemahiran untuk jurutera Golang Mar 16, 2024 pm 12:54 PM

Keperluan pekerjaan dan pengenalan kemahiran untuk jurutera Golang Dengan perkembangan pesat industri Internet, Golang, sebagai bahasa pengaturcaraan yang cekap, padat dan tinggi, secara beransur-ansur menjadi disukai oleh lebih banyak syarikat. Oleh itu, permintaan pasaran untuk jurutera yang mempunyai kemahiran Golang semakin kukuh. Jadi, apakah keperluan dan kemahiran pekerjaan yang harus dimiliki oleh seorang jurutera Golang yang baik? Seterusnya, kami akan memperkenalkannya, dengan contoh kod khusus. 1. Keperluan kerja: 1. Mahir dalam pengaturcaraan Golang

See all articles