2011-10-09 2 views
2

Je construis une application web (en utilisant Javascript/jQuery) qui génère des fichiers de configuration JSON. A la fin, les applications doivent convertir le JSON généré en une chaîne afin qu'il puisse être copié par l'utilisateur?JSON to String sans ajouter de guillemets aux clés

En ce moment je fais un JSON.stringify() simple, mais ceci ajoute la citation aux clés et aux valeurs. Pour que les fichiers de configuration fonctionnent, il est nécessaire que les clés soient exportées sans guillemets (sauf indication contraire).

Par exemple, "id": "ezdzdz" doit être imprimé comme id: "ezdzdz" à moins qu'il ne soit réellement écrit comme "id" dans le JSON.

Merci, toute l'aide est très appréciée!

+2

Si c'est JSON et non un objet Javascript natif, vous devez citer les noms de clés que je crois. –

+3

En syntaxe JSON, les guillemets sont obligatoires. Ils peuvent être optionnels dans Javascript même, mais pour qu'il soit valide JSON, il doit avoir les guillemets. – Spudley

+1

Voir: http://stackoverflow.com/questions/949449/json-spec-does-the-key-have-to-be-sounded-with-quotes –

Répondre

1

Intégrer un objet JSON en Javascript sans les guillemets sur les touches est valide. Ce n'est pas un JSON valide, mais c'est un Javascript valide. Utile pour les données stub dans les tests unitaires par exemple.

J'ai écrit un outil pour le faire appelé JSON Beautifier. Le voici: http://www.csvjson.com/json_beautifier

+0

Ceci est bien, mais il cite encore les touches même si le La case est cochée sur un tableau d'objets. –

+0

En effet. Un bug à corriger. Je répondrai ici quand c'est corrigé. –

+0

Maintenant corrigé. Voici la démonstration. http://www.csvjson.com/json_beautifier/d7b87615362b761067d6b5c7979e0605 –