Je veux créer une chaîne JSON dans une requête JSON. Voici mon code,
[~ # ~] js [~ # ~]
var x = {
a: 1,
b: 'a sample text',
};
var request = {
t: JSON.stringify(x),
c: 2,
r: 'some text'
};
console.log(request);
Quelqu'un peut-il m'aider à échapper aux doubles guillemets?
Console
Object {
t: "{"a":1,"b":"a sample text"}", //This creates a problem, double quotes inside double quotes.
c: 2,
r: "some text"
}
Merci d'avance.
C'est juste la façon dont la console du navigateur vous montre la valeur d'une chaîne, en mettant des guillemets doubles pour la sortie. C'est parfaitement normal et rien n'est cassé.
Vous pouvez le tester en transformant votre chaîne JSON en objet et en utilisant une propriété.
console.log( JSON.parse(request.t).b ); // a sample text
Il n'y a pas de problème. C'est juste ton console.log
qui montre toutes les chaînes en délimitant simplement avec "
.
Comme vous le dites, cet objet request
est utilisé dans une demande JSON, où il sera JSON.stringify
ed une autre fois, avec le résultat valide
{"t":"{\"a\":1,\"b\":\"a sample text\"}","c":2,"r":"some text"}