Je trouve que YAML et JSON sont tous deux très efficaces. Les deux seules choses qui dictent vraiment l'utilisation de l'un plutôt que de l'autre pour moi sont les suivantes : le langage le plus couramment utilisé. Par exemple, si j'utilise Java, Javascript, j'utiliserai JSON. Pour Java, j'utiliserai ses propres objets, qui ressemblent beaucoup à JSON mais manquent de certaines fonctionnalités, et je les convertirai en JSON si nécessaire ou je les créerai en JSON dès le départ. Je le fais parce que c'est une pratique courante en Java et que cela permet aux autres développeurs Java de modifier plus facilement mon code. La deuxième chose est que je l'utilise pour que le programme se souvienne des attributs, ou si le programme reçoit des instructions sous la forme d'un fichier de configuration, dans ce cas j'utiliserai YAML, parce qu'il est très facilement lisible par l'homme, a une belle syntaxe, et est très facile à modifier, même si vous n'avez aucune idée de comment YAML fonctionne. Ensuite, le programme le lira et le convertira en JSON, ou ce qui est préféré pour ce langage.
En fin de compte, cela n'a honnêtement aucune importance. JSON et YAML sont tous deux facilement lisibles par tout programmeur expérimenté.
35 votes
Sachez que JSON peut être considéré comme un sous-ensemble de YAML : fr.wikipedia.org/wiki/JSON#YAML
2 votes
@Charles, oui, mais ils ont une différence subtile : ajaxian.com/archives/json-yaml-it-s'approcher-de-la-vérité
2 votes
Puisque YAML est (approximativement) un sur-ensemble de JSON, il est impossible de répondre à la question des performances sans savoir si vous utiliserez cette expressivité. Si vous n'en avez pas besoin : à quelle vitesse les analyseurs YAML lisent-ils JSON ? Si vous en avez besoin : dans quelle mesure les analyseurs JSON sont-ils plus lents lorsque vous autorisez une représentation JSON éventuellement plus longue de la même idée ?
0 votes
@jokoon Je suppose que "je préférerais une bibliothèque C" (par exemple libyaml).
0 votes
Je ne le préconise pas, mais j'ai vu certains formats de données Lua qui sont très très simples.
7 votes
Documents YAML puede être complexe et difficile à lire. Une attaque "Billion laughs" est possible avec YAML. D'un autre côté, les objets complexes, les graphes et autres structures peuvent être sérialisés efficacement en YAML. Pour les formats d'échange et les structures simples, JSON est préférable. Pour la sérialisation d'objets complexes, ou pour les définitions de grammaire, YAML peut être préféré.
0 votes
La plus grande différence est que YAML doit être formaté à l'aide d'une règle.