Rumah > Artikel > pembangunan bahagian belakang > 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.
Saya ada JSON seperti ini: {"key1": "value1", n n "key2": "value2nwithnewline"}
Saya mahu:
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()) }
Pautan pergi taman permainan: https://go.dev/play/p/zvNSCuE4SjQ
Ini tidak berfungsi kerana ia boleh n
sebenarnya menjadi
n
n
实际上是
n
鉴于您问题的参数,您可以使用 strings.ReplaceAll
cleaned := strings.ReplaceAll(input, "\n \n ", "")
Memandangkan parameter soalan anda, anda boleh menggunakan rentetan.GantiSemua Gantikan semua nn:
cleaned.WriteByte(jsonStr[i])
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!