Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk mengalih keluar aksara yang tidak diingini antara kunci dan nilai dalam JSON?

Bagaimana untuk mengalih keluar aksara yang tidak diingini antara kunci dan nilai dalam JSON?

WBOY
Lepaskan: 2024-02-09 17:15:07
ke hadapan
1154 orang telah melayarinya

Bagaimana untuk mengalih keluar aksara yang tidak diingini antara kunci dan nilai dalam JSON?

editor php Strawberry ada di sini untuk berkongsi dengan anda petua tentang pemprosesan JSON: Bagaimana untuk memadam aksara yang tidak diperlukan antara kunci dan nilai dalam JSON? Semasa memproses data JSON, kami selalunya perlu membersihkan beberapa aksara yang tidak berguna untuk meningkatkan kebolehbacaan data dan mengurangkan saiz penghantaran data. Dengan menggunakan fungsi berkaitan PHP dan ungkapan biasa, kami boleh mengalih keluar aksara yang tidak diperlukan dengan mudah antara kunci dan nilai dalam JSON, menjadikan data lebih kemas dan piawai. Seterusnya, saya akan memperkenalkan langkah operasi khusus dan pelaksanaan kod secara terperinci.

Kandungan soalan

Saya ada JSON seperti ini: {"key1": "value1", n n "key2": "value2nwithnewline"}

Saya mahu:

  1. Padam nn
  2. Kekalkan nilai2n dan aksara baris baharu.

Jadi saya akan mempunyai JSON yang sah.

Saya mencuba :regex tetapi tidak dapat mengetahui cara untuk menentukan di luar kunci dan nilai.

Dan ini:

package main

import (
    "bytes"
    "fmt"
)

func main() {
    jsonStr := `{"key1": "value1", \n \n "key2": "value2\nwithnewline"}`
    var cleaned bytes.Buffer
    quoteCount := 0

    for i := 0; i < len(jsonStr); i++ {
        if jsonStr[i] == '"' {
            quoteCount++
        }

        if quoteCount%2 == 0 && jsonStr[i] != '\n' {
            cleaned.WriteByte(jsonStr[i])
        } else if quoteCount%2 == 1 {
            cleaned.WriteByte(jsonStr[i])
        }
    }

    fmt.Println(cleaned.String())
}
Salin selepas log masuk

Pautan pergi taman permainan: https://go.dev/play/p/zvNSCuE4SjQ

Ini tidak berfungsi kerana ia boleh n sebenarnya menjadi nn 实际上是 n

解决方法

鉴于您问题的参数,您可以使用 strings.ReplaceAll

Penyelesaian

cleaned := strings.ReplaceAll(input, "\n \n ", "")Memandangkan parameter soalan anda, anda boleh menggunakan rentetan.GantiSemua Gantikan semua nn:

cleaned.WriteByte(jsonStr[i])

🎜Jika anda ingin terus menggunakan strategi semasa anda, anda akan menghadapi beberapa masalah. Salah satunya ialah tanpa mengira keadaan anda, anda sentiasa menulis rentetan: 🎜 berlaku dalam kes if and else anda. 🎜

Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar aksara yang tidak diingini antara kunci dan nilai dalam JSON?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:stackoverflow.com
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan