Quelqu'un connait un bon mode Emacs pour éditer JSON? Une application que je suis en train de travailler sur utilise JSON en fonction du protocole de communication et des données bien en retrait et syntaxe en surbrillance serait m'aider beaucoup dans le processus d'essayer de le comprendre.
Réponses
Trop de publicités?+1 pour Josh json-mode -- fonctionne bien pour moi. J'ai ajouté
(defun beautify-json ()
(interactive)
(let ((b (if mark-active (min (point) (mark)) (point-min)))
(e (if mark-active (max (point) (mark)) (point-max))))
(shell-command-on-region b e
"python -mjson.tool" (current-buffer) t)))
et
(define-key json-mode-map (kbd "C-c C-f") 'beautify-json)
json-mode.el pour faire la commande shell invocation plus facile.
Mise à JOUR: pour ceux d'entre vous avec un besoin/envie de le faire avec unicode, voir ma question ici. Le résultat est, plutôt que d'utiliser:
python -mjson.tool
vous souhaitez utiliser
python -c 'import sys,json; data=json.loads(sys.stdin.read()); print json.dumps(data,sort_keys=True,indent=4).decode(\"unicode_escape\").encode(\"utf8\",\"replace\")'
cette fois embellit le JSON ainsi qu'à la préservation de l'original de l'unicode.
js-mode prend en charge la coloration syntaxique et l'indentation pour des fichiers json.
C'est comme d'Emacs 23.2, quand espresso-mode a été incorporé dans Emacs et renommé js-mode.
Check it out: http://www.nongnu.org/espresso/
Si vous voulez quelque chose de léger, essayez ce grand-mode j'ai bidouillé: https://github.com/joshwnj/json-mode
C'est en fait pas plus de quelques extra coloration syntaxique sur le dessus de javascript mode, mais pour ma part je l'ai trouvé très bien fonctionner.
Un autre cas d'utilisation est de l'auto-mise en forme d'un fichier JSON (par exemple. si c'est blanc, compressé et vous voulez plus de lisibilité). Pour ce faire, je suis juste la tuyauterie de la mémoire tampon par l'intermédiaire d'un script de ligne de commande: C-u M-|
Avez-vous essayé de Steve Yegge de la js2-mode pour Emacs?
Je vous ai préparé une solution de contournement pour js2-mode de sorte qu'il traite les fichiers json sans erreurs. Vous pouvez le trouver dans mon commentaire: http://code.google.com/p/js2-mode/issues/detail?id=50#c7
(Je voulais poster un commentaire ne J. F. Sebastian solution, mais il semble que je ne suis pas autorisé à le faire (pas de 'ajouter un commentaire' link))