2016-08-17 1 views

Répondre

0

Ce n'est pas "bizarre". C'est juste json contenant une autre chaîne JSON. Décoder le JSON mère, extraire la valeur de la foo clé, décoder cette valeur, et vous obtiendrez votre JSON intérieure:

orig = "{ \"foo\": \"{\\"bar\\": \\"bam\\"}\" }"; 
data = JSON.parse(orig); 
foo = data.foo; 
subdata = JSON.parse(foo); 
alert(subdata.bar); // bam 
+0

Vous avez raison, cela fonctionne parfaitement, je l'ai obtenu en utilisant curl et extrait la chaîne citée en utilisant jq, et cela a rendu plus difficile, mais c'est plus facile de cette façon. – eloyesp

1

Il semble qu'il peut être résolu en utilisant dans la ligne de commande JQ avec le fromjson builtin:

echo '{ "foo": "{\"bar\": \"bam\"}" }' | jq ".foo | fromjson" 

ou en utilisant --raw-output

echo '{ "foo": "{\"bar\": \"bam\"}" }' | jq --raw-output ".foo" | jq "."