Qual é a diferença entre YAML e JSON?


735

Quais são as diferenças entre YAML e JSON, considerando especificamente o seguinte?

  • Desempenho (tempo de codificação / decodificação)
  • Consumo de memória
  • Clareza de expressão
  • Disponibilidade da biblioteca, facilidade de uso (eu prefiro C)

Eu estava planejando usar um desses dois em nosso sistema incorporado para armazenar arquivos de configuração.

Relacionado:

Devo usar YAML ou JSON para armazenar meus dados Perl?


26
Esteja ciente de que JSON pode ser considerado um subconjunto de YAML: en.wikipedia.org/wiki/JSON#YAML
Charles

2
@Charles, sim, mas eles têm alguma diferença sutil: ajaxian.com/archives/json-yaml-its-getting-closer-to-truth
pierrotlefou

1
Como o YAML (aproximadamente) é um superconjunto do JSON, a questão do desempenho não pode ser respondida sem suposições sobre se você usará essa expressividade. Se você não precisar: com que rapidez são os analisadores YAML na leitura de JSON? Se você precisar: quanto mais lento são os analisadores JSON quando você permite uma representação JSON possivelmente mais longa da mesma idéia?
poolie 6/10/12

@jokoon eu acho "Eu prefiro uma biblioteca C" (por exemplo libyaml)
DBR

4
Os documentos YAML podem ser complexos e difíceis de ler. Um ataque de "bilhões de risos" é possível com o YAML. Por outro lado, objetos complexos, gráficos e outras estruturas podem ser serializados com eficiência no YAML. Para formatos de intercâmbio e estruturas simples, o JSON é preferido. Para serialização de objetos complexos ou para definições de gramática, o YAML pode ser preferido.
Erik Aronesty

Respostas:


656

Tecnicamente, o YAML é um superconjunto do JSON. Isso significa que, pelo menos em teoria, um analisador YAML pode entender JSON, mas não necessariamente o contrário.

Veja as especificações oficiais, na seção "YAML: Relação com JSON" .

Em geral, há certas coisas que eu gosto no YAML que não estão disponíveis no JSON.

  • Como apontado pelo @jdupont , o YAML é visualmente mais fácil de visualizar. De fato, a página inicial do YAML é YAML válida, mas é fácil para um ser humano ler.
  • O YAML pode referenciar outros itens em um arquivo YAML usando "âncoras". Assim, ele pode lidar com informações relacionais como se pode encontrar em um banco de dados MySQL.
  • O YAML é mais robusto sobre a incorporação de outros formatos de serialização, como JSON ou XML, em um arquivo YAML.

Na prática, nenhum desses dois últimos pontos provavelmente importará para as coisas que você ou eu fazemos, mas, a longo prazo, acho que o YAML será um formato de serialização de dados mais robusto e viável.

No momento, o AJAX e outras tecnologias da Web tendem a usar JSON. Atualmente, o YAML está sendo usado mais para processos de dados offline. Por exemplo, ele está incluído por padrão no pacote de visão computacional OpenCV baseado em C, enquanto o JSON não.

Você encontrará bibliotecas C para JSON e YAML. As bibliotecas do YAML tendem a ser mais novas, mas não tive problemas com elas no passado. Veja, por exemplo, Yaml-cpp .


199
O json não é um subconjunto (embora esteja próximo), e as incompatibilidades são irritantes quando você as encontra. As bibliotecas json geralmente são mais rápidas ... ( stackoverflow.com/questions/2451732/… ). Os defensores do yaml insistirão que é um subconjunto. se a legibilidade for uma preocupação, use yaml. se a interoperabilidade e a velocidade forem uma preocupação, use JSON.
Erik Aronesty

6
YAML é um superconjunto de uma forma específica da sintaxe JSON. Ou seja, se você usar JSON de uma maneira compatível com YAML, será um subconjunto adequado. Como o pierr comentou acima, as especificações estão [visando a compatibilidade] (ajaxian.com/archives/json-yaml-its-getting-closer-to-truth).
precisa saber é o seguinte

120
Além disso, o YAML suporta comentários úteis.
Den

59
O @ErikAronesty JSON estava perto de um subconjunto do YAML 1.1, mas desde o YAML 1.2 agora é um subconjunto verdadeiro. O YAML 1.2 foi lançado principalmente para resolver as últimas incompatibilidades entre as duas especificações.
00prometheus

64
Da especificação do YAML 1.2 : "O objetivo principal desta revisão é colocar o YAML em conformidade com o JSON como um subconjunto oficial".
Rico C

204

Diferenças:

  1. O YAML, dependendo de como você o usa, pode ser mais legível que o JSON
  2. O JSON geralmente é mais rápido e provavelmente ainda é interoperável com mais sistemas
  3. É possível escrever um analisador JSON "suficientemente bom" muito rapidamente
  4. Chaves duplicadas, que são JSON potencialmente válidas, são definitivamente YAML inválidas.
  5. O YAML possui vários recursos, incluindo comentários e âncoras relacionais. A sintaxe do YAML é, portanto, bastante complexa e pode ser difícil de entender.
  6. É possível escrever estruturas recursivas em yaml:, {a: &b [*b]}que serão repetidas infinitamente em alguns conversores. Mesmo com a detecção circular, uma "bomba yaml" ainda é possível (consulte xml bomb ).
  7. Como não há referências, é impossível serializar estruturas complexas com referências a objetos em JSON. A serialização YAML pode, portanto, ser mais eficiente.
  8. Em alguns ambientes de codificação, o uso do YAML pode permitir que um invasor execute código arbitrário .

Observações:

  1. Os programadores de Python geralmente são grandes fãs do YAML, devido ao uso de recuo, em vez de sintaxe entre colchetes, para indicar níveis.
  2. Muitos programadores consideram a ligação do "significado" à indentação uma má escolha.
  3. Se o formato dos dados sair do ambiente de um aplicativo, analisado em uma interface do usuário ou enviado em uma camada de mensagens, o JSON pode ser uma escolha melhor.
  4. O YAML pode ser usado diretamente para tarefas complexas, como definições gramaticais, e geralmente é uma escolha melhor do que inventar um novo idioma.

9
Isto é. O objetivo inteiro do Yaml 1.2 era resolver as poucas diferenças de compatibilidade para tornar o JSON um subconjunto estrito. Se você acredita que a especificação não atingiu seu objetivo, Erik, aponte para um exemplo em algum lugar de JSON válido que viole a especificação YAML e / ou quebre um analisador YAML compatível com 1.2 verificado.
SFEley

32
@SFEley A especificação YAML diz que existem arquivos JSON potencialmente válidos que seriam YAML inválidos. Mas não é provável em uso real. "O RFC4627 do JSON exige que as chaves de mapeamento sejam meramente" DEVE "serem únicas, enquanto o YAML insiste que" DEVE "ser. Tecnicamente, o YAML cumpre as especificações do JSON, optando por tratar as duplicatas como um erro. Na prática, uma vez que o JSON é silencioso no semântica de tais duplicatas, os únicos arquivos JSON portáteis são aqueles com chaves exclusivas, que são, portanto, arquivos YAML válidos ". - yaml.org/spec/1.2/spec.html#id2759572
David C. Bishop

9
Comentar sobre o uso do travessão; bem, acredito que isso pode exigir que você se acostume e nem todos gostariam. Por exemplo, eu sou um cara do .NET. Eu estava olhando para um arquivo travis.yml e queria saber por que havia um problema. Eu descobri que tinha uma guia onde não deveria estar. Nem todo mundo está acostumado com as coisas explodindo devido às preferências de espaço / tab / novas linhas.
Phil

10
As guias simplesmente não são permitidas como caracteres de indentação. IMHO, esse é um bom estilo de codificação em todas as línguas - com ou sem recuo sintático.
00prometheus

6
@Wyrmwood Eu pessoalmente gosto de python e YAML e literalmente os uso todos os dias. Costumo usar o YAML para coisas que as pessoas precisam editar com freqüência e o JSON para coisas que as pessoas "talvez" precisem procurar. Fui submetido a críticas válidas por desenvolvedores de C ++ que consideram a indentação confusa ... especialmente se houver vários níveis ou blocos funcionais mais longos. É claro ... um bom código testável não possui essas coisas, por isso geralmente não é um problema. Esta é minha observação pessoal, mas qualquer pesquisa casual no Google produzirá muitos resultados ... então é trivial verificar.
Erik Aronesty

89

Ignorando a teoria esotérica

Isso responde ao título, não aos detalhes, já que a maioria apenas lê o título em um resultado de pesquisa no google como eu, então achei necessário explicar do ponto de vista do desenvolvedor da web .

  1. O YAML usa recuo de espaço, que é um território familiar para desenvolvedores de Python.
  2. Os desenvolvedores de JavaScript adoram JSON porque é um subconjunto de JavaScript e podem ser diretamente interpretados e gravados dentro de JavaScript, além de usar uma maneira abreviada de declarar JSON, sem exigir aspas duplas nas chaves ao usar nomes de variáveis ​​típicos sem espaços.
  3. Há uma infinidade de analisadores que funcionam muito bem em todos os idiomas para YAML e JSON.
  4. O formato de espaço do YAML pode ser muito mais fácil de visualizar em muitos casos, porque a formatação requer uma abordagem mais legível por humanos.
  5. Embora o formato do YAML seja mais compacto e fácil de visualizar, pode ser enganosamente difícil de editar manualmente, se você não tiver a formatação de espaço visível no seu editor. As guias não são espaços, o que confunde ainda mais se você não tiver um editor para interpretar as teclas digitadas em espaços.
  6. O JSON é muito mais rápido para serializar e desserializar devido a significativamente menos recursos que o YAML deve verificar, o que permite que códigos menores e mais leves processem o JSON.
  7. Um equívoco comum é que o YAML precisa de menos pontuação e é mais compacto que o JSON, mas isso é completamente falso. O espaço em branco é invisível, portanto parece que há menos caracteres, mas se você contar o espaço em branco real necessário para que o YAML seja interpretado corretamente junto com o recuo adequado, você descobrirá que o YAML realmente requer mais caracteres que o JSON. O JSON não usa espaço em branco para representar hierarquia ou agrupamento e pode ser facilmente achatado com o espaço em branco desnecessário removido para um transporte mais compacto.

O elefante na sala: a própria Internet

O JavaScript domina tão claramente a web por uma margem enorme e os desenvolvedores de JavaScript preferem usar JSON como o formato de dados de forma esmagadora, juntamente com as APIs da web populares, tornando-se difícil argumentar sobre o uso de YAML sobre JSON ao fazer programação da web no sentido geral, pois você provavelmente será derrotado em um ambiente de equipe. De fato, a maioria dos programadores da Web nem sequer sabe que o YAML existe, e muito menos considere usá-lo.

Se você estiver fazendo alguma programação da Web, o JSON é o caminho padrão a ser seguido, porque nenhuma etapa de conversão é necessária ao trabalhar com JavaScript; portanto, você deve apresentar um argumento melhor para usar o YAML sobre JSON nesse caso.


10
Eu discordo que os desenvolvedores de python preferem o YAML. O dict de Pythons é basicamente JSON, a lista de dicts também é basicamente JSON. Python foi construído em json lib. Em uma nota lateral, sou desenvolvedor de python e prefiro JSON (a maioria dos desenvolvedores de python que conheço prefere JSON).
karantan

6
A única coisa que realmente me incomoda no espaço em branco é a facilidade com que é confundir e cometer erros, pois recuar ou não pode significar que está aninhado ou no mesmo nível e também é muito fácil confundir isso, se você não tem uma regra de guia. é como oops oculto, esse não é realmente o cenário de tipo fácil que ninguém diz ao editar o yaml. nunca tive esse problema com json.
Jason Sebring

6
@JasonSebring. Você quase se perguntou por que o YAML foi com espaços. Meu primeiro mergulho no oceano do YAML levou a um aplicativo quebrado ... tudo por causa de espaços. Você pensaria que talvez usar um recuo que não usa caracteres não imprimíveis faria muito mais sentido! (Ou seja, por que diabos eles não escolheram '.' Em vez de ''?) Para entender o YAML, você precisa ir às especificações. Para entender JSON não precisa disso. (Estive no primeiro e nunca no último). Isso para mim indica um formato que não é realmente 'legível por humanos'
cmroanirgo 30/12/16

7
@cmroanirgo yah essa foi a minha experiência. Meu chefe nos forçou a usar o YAML sobre JSON e isso tornou as coisas desnecessariamente ruins para editar e ingerir. Escrevi isso por causa da esperança de que os votos me justificassem.
Jason Sebring

3
Problemas com guias no YAML significa (a) não ler a mensagem de erro e (b) ter um editor que não destaque as guias. Ambos os problemas são facilmente corrigíveis, por isso não entendo as reclamações.
Toolforger #

38

Esta pergunta tem 6 anos, mas estranhamente, nenhuma das respostas realmente aborda todos os quatro pontos (velocidade, memória, expressividade, portabilidade).

Rapidez

Obviamente, isso depende da implementação, mas como o JSON é tão amplamente usado e fácil de implementar, ele costuma receber maior suporte nativo e, portanto, velocidade. Considerando que o YAML faz tudo o que o JSON faz, além de mais um caminhão, é provável que, de quaisquer implementações comparáveis ​​de ambas, a JSON seja mais rápida.

No entanto, dado que um arquivo YAML pode ser um pouco menor que o seu equivalente JSON (devido a menos "e ,caracteres), é possível que um analisador YAML altamente otimizado seja mais rápido em circunstâncias excepcionais.

Memória

Basicamente, o mesmo argumento se aplica. É difícil perceber por que um analisador YAML seria mais eficiente em termos de memória que um analisador JSON, se eles representam a mesma estrutura de dados.

Expressividade

Como observado por outros, programadores Python tendem a preferir YAML, programadores JavaScript em vez de JSON. Vou fazer estas observações:

  • É fácil memorizar toda a sintaxe do JSON e, portanto, tenha muita confiança em entender o significado de qualquer arquivo JSON. YAML não é verdadeiramente compreensível por qualquer humano. O número de sutilezas e casos extremos é extremo.
  • Como poucos analisadores implementam toda a especificação, é ainda mais difícil ter certeza sobre o significado de uma determinada expressão em um determinado contexto.
  • A falta de comentários no JSON é, na prática, uma verdadeira dor.

Portabilidade

É difícil imaginar uma linguagem moderna sem uma biblioteca JSON. Também é difícil imaginar um analisador JSON implementando algo menos que a especificação completa. O YAML possui amplo suporte, mas é menos onipresente que o JSON, e cada analisador implementa um subconjunto diferente. Portanto, os arquivos YAML são menos interoperáveis ​​do que você imagina.

Sumário

O JSON é o vencedor em desempenho (se relevante) e interoperabilidade. O YAML é melhor para arquivos mantidos por humanos. HJSON é um compromisso decente, embora com portabilidade muito reduzida. JSON5 é um compromisso mais razoável, com sintaxe bem definida.


3
Na verdade, eu pensei que o YAML era menor por causa de caracteres invisíveis que me enganavam como tal. Invisível => Não existe, na verdade não. Se você contar que os caracteres invisíveis precisam estar lá, especialmente à medida que o YAML aumenta o aninhamento, ele ultrapassa rapidamente o JSON. Eu apenas pensei que isso era muito interessante, pois a parte legível por humanos engana a maioria de nós nessa noção, até que eu realmente pensei sobre isso, pois você pode achatar JSON e YAML, nem tanto. Também achei o YAML muito difícil de editar manualmente, não de ler, basta editar, pois você precisa que os guias do editor estejam ativados, confundindo itens aninhados facilmente às vezes.
Jason Sebring

1
Eu sinto que nenhuma das respostas aqui declara isso explicitamente: "Para arquivos de configurações / configurações, o YAML é melhor (pelos motivos mencionados acima por todos). Para a interoperabilidade máquina / máquina, use JSON". Em outras palavras: se seu público-alvo é humano, o YAML é melhor. Se o destino for outro programa (mas você ainda desejar que os dados sejam legíveis por humanos), use JSON.
Florin T.

Isso é verdade, mas a pergunta apresentou alguns parâmetros bastante específicos sobre como eles queriam que os dois fossem comparados. Pessoalmente, eu nunca usaria o YAML para nada. Eu usaria JSON para interoperabilidade ou JSON6 se a manutenção humana for importante.
Steve Bennett

29

GIT e YAML

As outras respostas são boas. Leia primeiro. Mas vou adicionar outro motivo para usar o YAML às vezes: git .

Cada vez mais, muitos projetos de programação usam repositórios git para distribuição e arquivamento. E, embora o histórico de um repositório git possa igualmente armazenar arquivos JSON e YAML, o método "diff" usado para rastrear e exibir alterações em um arquivo é orientado a linhas. Como o YAML é forçado a ser orientado a linhas, quaisquer pequenas alterações em um arquivo YAML são mais fáceis de serem vistas por um humano.

É verdade, é claro, que os arquivos JSON podem "ficar bonitos", classificando as strings / keys e adicionando o recuo. Mas esse não é o padrão e sou preguiçoso.

Pessoalmente, geralmente uso o JSON para interação sistema a sistema. Costumo usar o YAML para arquivos de configuração, arquivos estáticos e arquivos rastreados. (Eu também geralmente evito adicionar âncoras relacionais YAML. A vida é muito curta para caçar loops.)

Além disso, se velocidade e espaço são realmente uma preocupação, também não uso. Você pode querer olhar para o BSON.


22

Acho que o YAML é mais fácil para os olhos: menos parênteses, "" etc. etc. Embora exista um aborrecimento de abas no YAML ... mas alguém pega o jeito.

Em termos de desempenho / recursos, eu não esperaria grandes diferenças entre os dois.

Além disso, estamos falando de arquivos de configuração e, portanto, eu não esperaria uma alta frequência de atividade de codificação / decodificação, não?


22
Eu me perguntei o que você quis dizer com aborrecimento de abas . Eu acredito que a coisa é que caracteres de tabulação não são permitidos no yaml , o que pessoalmente eu acho que é uma boa idéia em qualquer arquivo de origem .
poolieby

6
@poolie: o jldupont provavelmente está se referindo ao espaço em branco principal sintaticamente significativo no YAML.
precisa saber é o seguinte

10
OK, mas eles não são guias.
poolieby

20

Se você não precisar de nenhum recurso que o YAML possua e o JSON não, prefiro o JSON, porque é muito simples e tem amplo suporte (possui muitas bibliotecas em vários idiomas). O YAML é mais complexo e tem menos suporte. Não acho que a velocidade de análise ou o uso de memória sejam muito diferentes e talvez não seja uma grande parte do desempenho do seu programa.


3
de que maneira o YAML é mais complexo?
Accatyyc

18
Por exemplo, o YAML suporta âncoras, como foi observado em outra resposta. Existem outros recursos, como tipos de dados extensíveis. Isso torna a análise mais complexa e explica por que o YAML possui especificações maiores. Isso pode prejudicar o desempenho, dependendo da implementação do analisador (dê uma olhada nesta pergunta: stackoverflow.com/questions/2451732/… ).
Anton Strogonoff

5
A complexidade é melhor que a simplicidade, se essa complexidade comprar energia para você alcançar uma maior simplicidade geral. Isso certamente é verdade, dependendo da complexidade do seu modelo de dados.
Jonathan Neufeld

3
Talvez eu esteja um pouco atrasado aqui, mas o YAML pode adicionar comentários, enquanto o JSON não pode. Para mim, é uma grande ajuda quando vem a documentação de especificações
Moses Liao GZ

@Accatyyc. Eu acho que o fato de as pessoas estarem aqui fazendo perguntas sobre a diferença é um sinal claro de que o YAML não é tão fácil assim. Eu nunca fiz uma pergunta sobre o JSON (exceto "por que não posso ter comentários?")
cmroanirgo 30/12/16

15

Tecnicamente, o YAML oferece muito mais que o JSON (o YAML v1.2 é um superconjunto do JSON):

  • comentários
  • âncoras e herança - exemplo de 3 itens idênticos:

    item1: &anchor_name
      name: Test
      title: Test title
    item2: *anchor_name
    item3:
      <<: *anchor_name
      # You may add extra stuff.
  • ...

Na maioria das vezes, as pessoas não usam esses recursos extras e a principal diferença é que o YAML usa recuo enquanto o JSON usa colchetes . Isso torna o YAML mais conciso e legível (para os olhos treinados).

Qual escolher?

  • Os recursos extras do YAML e a notação concisa o tornam uma boa opção para arquivos de configuração ( arquivos não fornecidos pelo usuário).
  • Os recursos limitados do JSON , amplo suporte e análise mais rápida o tornam uma ótima opção para interoperabilidade e dados fornecidos pelo usuário .

4

Como essa pergunta agora é destacada ao procurar YAML e JSON, vale a pena notar uma diferença raramente citada entre as duas: licença. O JSON pretende ter uma licença à qual os usuários do JSON devem aderir (incluindo o juridicamente ambíguo "deve ser usado para o bem, não para o mal"). O YAML não possui tal reivindicação de licença e isso pode ser uma diferença importante (para o seu advogado, se não para você).


Eu não uso JSON, eu uso o equivalente exato de JSON sem chamá-lo de JSON. Eu chamo de PS-OFF. Você vai me processar por usar { "": #, [] }???
22419 Andrew Andrew

4

Às vezes você não precisa decidir por um sobre o outro.

No Go, por exemplo, você pode ter os dois ao mesmo tempo:

type Person struct {
    Name string `json:"name" yaml:"name"`
    Age int `json:"age" yaml:"age"`
}

3

De: Arnaud Lauret Book "O design de APIs da Web". :

O formato de dados JSON

JSON é um formato de dados de texto baseado em como a linguagem de programação JavaScript descreve os dados, mas, apesar do nome, é completamente independente do idioma (consulte https://www.json.org/ ). Usando JSON , você pode descrever objetos que contêm pares não-ordenados de nome / valor e também matrizes ou listas que contêm valores ordenados, conforme mostrado nesta figura.

insira a descrição da imagem aqui

Um objeto é delimitado por chaves ({}). Um nome é uma string entre aspas ("nome") e é separado de seu valor por dois pontos (:). Um valor pode ser uma sequência como "value", um número como 1,23, um booleano (verdadeiro ou falso), o valor nulo null, um objeto ou uma matriz. Uma matriz é delimitada por colchetes ([]) e seus valores são separados por vírgulas (,). O formato JSON é facilmente analisado usando qualquer linguagem de programação. Também é relativamente fácil de ler e escrever. É amplamente adotado para muitos usos, como bancos de dados, arquivos de configuração e, é claro, APIs.

YAML

O YAML (YAML não é uma linguagem de marcação) é um formato de serialização de dados amigável para humanos. Como o JSON, o YAML ( http://yaml.org ) é um formato de dados de chave / valor. A figura mostra uma comparação dos dois.

insira a descrição da imagem aqui

Observe os seguintes pontos:

  • Não há aspas duplas ("") em torno de nomes e valores de propriedades no YAML .

  • Os chavetas estruturais do JSON ({}) e vírgulas (,) são substituídas por novas linhas e recuo no YAML .

  • Parênteses de matriz ([]) e vírgulas (,) são substituídos por traços (-) e novas linhas no YAML .

  • Diferentemente do JSON , o YAML permite comentários começando com uma marca de hash (#). É relativamente fácil converter um desses formatos para o outro. Entretanto, esteja avisado, você perderá comentários ao converter um documento YAML para JSON .


0

Acho que o YAML e o JSON são muito eficazes. As únicas duas coisas que realmente ditam quando uma é usada sobre a outra são: qual é a linguagem mais popular. Por exemplo, se eu estiver usando Java, Javascript, usarei JSON. Para Java, usarei seus próprios objetos, que são praticamente JSON, mas faltam em alguns recursos, e os converteremos em JSON, se eu precisar ou o fizer em JSON, em primeiro lugar. Faço isso porque isso é algo comum em Java e facilita a modificação de meu código por outros desenvolvedores de Java. A segunda coisa é se eu estou usando para o programa lembrar atributos, ou se o programa está recebendo instruções na forma de um arquivo de configuração; nesse caso, usarei o YAML, porque é muito fácil de ler, tem uma boa aparência. sintaxe de aparência e é muito fácil de modificar, mesmo que você não tenha idéia de como o YAML funciona. Em seguida, o programa irá lê-lo e convertê-lo em JSON, ou o que for preferido para esse idioma.

No final, honestamente, não importa. JSON e YAML são facilmente lidos por qualquer programador experiente.


-1
  • JSON não pode lidar com grandes dados comparando yml

  • Não é adequado para lidar com diferentes formatos de multimídia.

  • JSON não tem um recurso para suportar 'comentários'. Isso pode ser incluído apenas como um atributo adicional.

  • O YAML tem algumas vantagens sobre o JSON, como auto-referência, suporte para tipos de dados complexos, literais de bloco incorporados, comentários e muito mais.

  • JSON é legível apenas enquanto YAML pode ser legível e editável.
  • JSON é um subconjunto de YAML, para que os analisadores YAML possam analisar JSON.
  • O YAML não usa delimitadores extras; portanto, é mais leve que XML e JSON.

O que você quer dizer com "dados grandes" e pontos "apenas legíveis"? JSON é um formato de dados, o que um conceito abstrato pode ter essas duas limitações?
João Farias

4
@ JoãoFarias Digamos que você tenha 1GB de arquivo JSON e 1GB de arquivo CSV e 256MB de memória. Você pode processar o arquivo CSV linha por linha, com o JSON não é facilmente possível. Ainda é provavelmente mais fácil analisar o arquivo YAML linha por linha, do que seria possível analisar o JSON.
NeverEndingQueue
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.