2017-09-12 3 views
1

Quel est le meilleur moyen de détecter si une chaîne Go contient des caractères non valides dans les chaînes JSON? En d'autres termes, quel est le Go équivalent à cette réponse à cette Java question? Est-ce juste pour utiliser strings.ContainsAny (en supposant le ASCII control characters)?Go: Quelle est la meilleure façon de détecter les caractères de chaînes JSON invalides?

ctlChars := string([]byte{ 
    0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 
    19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 127, 
}) 
if strings.ContainsAny(str, ctlChars) { 
    println("has control chars") 
} 
+4

efficace dans quel sens? Vite? La plus faible consommation d'énergie? Le moins d'instructions CPU? Fonctionne sur Nacl? Moins longue durée/Watt? Le nombre le moins élevé d'erreurs de cache? Facile à comprendre? Plus efficace pendant le débogage? Plus facile de changer les changements de spécifications JSON? – Volker

+0

@Volker Oui. Serait utile de savoir/voir/documenter toutes les options et les compromis. – theory

+0

"Toutes les options et les compromis" est assez large. Si vous avez une cible d'optimisation particulière qui pourrait être assez étroite pour répondre sur SO. – Adrian

Répondre