270 votes

Comment échapper aux caractères spéciaux lors de la construction d'une chaîne JSON ?

Voici ma chaîne de caractères

{
    'user': {
        'name': 'abc',
        'fx': {
            'message': {
                'color': 'red'
            },
            'user': {
                'color': 'blue'
            }
        }
    },
    'timestamp': '2013-10-04T08: 10: 41+0100',
    'message': 'I'mABC..',
    'nanotime': '19993363098581330'
}    

Ici, le message contient des guillemets simples, identiques aux guillemets utilisés dans JSON. Ce que je fais, c'est remplir une chaîne de caractères à partir des entrées de l'utilisateur telles que le message. J'ai donc besoin d'échapper à ce genre de scénarios spéciaux qui cassent le code. Mais à part le remplacement de la chaîne, existe-t-il un moyen de les faire échapper tout en permettant au HTML de les traiter pour les ramener au message correct ?

-16voto

Bart Points 126

Concernant le post d'AlexB :

 \'  Apostrophe or single quote
 \"  Double quote

l'échappement des guillemets simples n'est valable que pour les chaînes json entre guillemets simples
l'échappement des guillemets doubles n'est valable que pour les chaînes json entre guillemets doubles

exemple :

'Bart\'s car'       -> valid
'Bart says \"Hi\"'  -> invalid

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X