l'éditeur php Strawberry est là pour partager avec vous une astuce sur le traitement JSON : Comment supprimer les caractères inutiles entre les clés et les valeurs en JSON ? Lors du traitement des données JSON, nous devons souvent nettoyer certains caractères inutiles pour améliorer la lisibilité des données et réduire la taille de la transmission des données. En utilisant les fonctions et expressions régulières associées à PHP, nous pouvons facilement supprimer les caractères inutiles entre les clés et les valeurs dans JSON, rendant les données plus ordonnées et standardisées. Ensuite, je présenterai en détail les étapes de fonctionnement spécifiques et la mise en œuvre du code.
J'ai JSON comme ceci : {"key1": "value1", n n "key2": "value2nwithnewline"}
Je veux :
J'aurai donc un JSON valide.
J'ai essayé :regex mais je n'ai pas compris comment spécifier en dehors des clés et des valeurs.
Et ça :
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()) }
Lien Go Playground : https://go.dev/play/p/zvNSCuE4SjQ
Cela ne fonctionne pas car cela peut n
en fait être
n
n
实际上是
n
鉴于您问题的参数,您可以使用 strings.ReplaceAll
cleaned := strings.ReplaceAll(input, "\n \n ", "")
Compte tenu des paramètres de votre question, vous pouvez utiliser strings.ReplaceAll Remplacez tout nn :
cleaned.WriteByte(jsonStr[i])
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!