Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Menghuraikan Berbilang Objek JSON yang Tidak Terbungkus dalam Go?

Bagaimana untuk Menghuraikan Berbilang Objek JSON yang Tidak Terbungkus dalam Go?

Patricia Arquette
Lepaskan: 2024-12-25 18:23:13
asal
901 orang telah melayarinya

How to Parse Multiple Unwrapped JSON Objects in Go?

Menghuraikan Berbilang Objek JSON yang Tidak Terbungkus dalam Go

Dalam Go, pakej pengekodan/json dengan cekap menghuraikan objek JSON yang disertakan dalam kurungan segi empat sama ([] ). Walau bagaimanapun, menghadapi berbilang objek JSON yang tidak dibalut (cth., {key:value}{key:value}) memberikan cabaran penghuraian.

Untuk menyahkod berbilang objek JSON yang tidak dibalut itu, kami boleh menggunakan json.Decoder yang membaca secara berulang dan menyahkod setiap objek individu. Berikut ialah contoh:

package main

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

var input = `{foo: bar}{foo: baz}`

type Doc struct {
    Foo string
}

func main() {
    dec := json.NewDecoder(strings.NewReader(input))
    for {
        var doc Doc

        err := dec.Decode(&doc)
        if err == io.EOF {
            // all done
            break
        }
        if err != nil {
            log.Fatal(err)
        }

        fmt.Printf("%+v\n", doc)
    }
}
Salin selepas log masuk

Dalam contoh ini:

  • Kami mencipta json.Decoder daripada rentetan input.
  • Menggunakan gelung, kami berulang kali mencuba untuk menyahkod objek individu daripada input menggunakan dec.Decode().
  • Jika penyahkodan menemui hujung fail (io.EOF), kami keluar dari gelung kerana tiada lagi objek untuk dinyahkod.
  • Untuk setiap objek yang berjaya dinyahkod, kami menyusunnya menjadi struct Dokumen dan mencetaknya.

Taman permainan: https://play.golang.org/p/ANx8MoMC0yq

Atas ialah kandungan terperinci Bagaimana untuk Menghuraikan Berbilang Objek JSON yang Tidak Terbungkus dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan