Heim > Backend-Entwicklung > Golang > Wie entferne ich unerwünschte Zeichen zwischen Schlüsseln und Werten in JSON?

Wie entferne ich unerwünschte Zeichen zwischen Schlüsseln und Werten in JSON?

WBOY
Freigeben: 2024-02-09 17:15:07
nach vorne
1156 Leute haben es durchsucht

Wie entferne ich unerwünschte Zeichen zwischen Schlüsseln und Werten in JSON?

php-Editor Strawberry ist hier, um Ihnen einen Tipp zur JSON-Verarbeitung zu geben: Wie lösche ich unnötige Zeichen zwischen Schlüsseln und Werten in JSON? Bei der Verarbeitung von JSON-Daten müssen wir häufig einige nutzlose Zeichen bereinigen, um die Lesbarkeit der Daten zu verbessern und den Umfang der Datenübertragung zu reduzieren. Durch die Verwendung der PHP-bezogenen Funktionen und regulären Ausdrücke können wir unnötige Zeichen zwischen Schlüsseln und Werten in JSON problemlos entfernen und so die Daten aufgeräumter und standardisierter gestalten. Als nächstes werde ich die spezifischen Betriebsschritte und die Code-Implementierung im Detail vorstellen.

Frageninhalt

Ich habe JSON wie folgt: {"key1": "value1", n n "key2": "value2nwithnewline"}

Ich möchte:

  1. nn löschen
  2. Wert2n und Zeilenumbrüche beibehalten.

Also werde ich einen gültigen JSON haben.

Ich habe :regex ausprobiert, konnte aber nicht herausfinden, wie man außerhalb von Schlüsseln und Werten spezifiziert.

Und das:

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())
}
Nach dem Login kopieren

Go-Spielplatz-Link: https://go.dev/play/p/zvNSCuE4SjQ

Das funktioniert nicht, da n tatsächlich n sein kann. n 实际上是 n

解决方法

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

Problemumgehung

cleaned := strings.ReplaceAll(input, "\n \n ", "")Angesichts der Parameter Ihrer Frage können Sie strings.ReplaceAll Alle ersetzen nn:

cleaned.WriteByte(jsonStr[i])

🎜Wenn Sie Ihre aktuelle Strategie weiterhin anwenden möchten, werden Sie auf einige Probleme stoßen. Eine davon ist, dass Sie unabhängig von Ihrem Zustand immer eine Zeichenfolge schreiben: 🎜 passiert in Ihren if- und else-Fällen. 🎜

Das obige ist der detaillierte Inhalt vonWie entferne ich unerwünschte Zeichen zwischen Schlüsseln und Werten in JSON?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:stackoverflow.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage