portfolios.tools

Conversor de YAML para JSON

Converta blocos YAML suportados em JSON formatado e consulte os tipos dos valores.

Entrada YAML

Cole texto YAML para ver a conversão para JSON e os tipos dos valores.

Exemplo trabalhado

portfolio:
  name: "Growth"
  holdings:
    - symbol: "00123"
      targetWeight: 0.6
    - symbol: BND
      targetWeight: 0.4
Resultado da conversão

Resultado da conversão

{
  "portfolio": {
    "name": "Growth",
    "allocation": {
      "stocks": 80,
      "bonds": 20
    }
  }
}

Resumo dos tipos de valores

Valor de raizobjeto
/portfolioobjeto
/portfolio/nametexto
/portfolio/allocationobjeto
/portfolio/allocation/stocksnúmero
/portfolio/allocation/bondsnúmero

Como funciona

Cole uma configuração YAML que use mapas e sequências em blocos. O conversor interpreta a indentação para criar objetos e listas JSON aninhados. Preserva texto entre aspas e aceita texto simples, valores booleanos, valores null e números decimais seguros.

Reveja o JSON formatado e o resumo de tipos. O resumo identifica os valores por caminhos no estilo JSON Pointer e inclui cada elemento das sequências. Copie o JSON apenas depois de verificar que a estrutura e os valores correspondem ao que a aplicação espera.

Os comentários são removidos do valor analisado, pois JSON não tem sintaxe para comentários. Valores vazios num mapa passam a null, exceto quando são seguidos por um bloco subordinado indentado, que contém a coleção aninhada. Identificadores numéricos sem aspas seguem a resolução de escalares de YAML Core, por isso coloque os identificadores entre aspas quando precisar de preservar zeros ou formatação.

Use esta página para converter rapidamente pequenos trechos de configuração. Antes de usar o resultado em produção, valide o JSON com o esquema da aplicação e verifique os dados.

Passo a passo

  1. Cole YAML com a sintaxe de blocos suportada
  2. Reveja os erros, o JSON e o resumo de tipos
  3. Copie o JSON depois de verificar os valores

Exemplo trabalhado

Cole o exemplo YAML apresentado. O analisador gera um objeto JSON com o nome de uma carteira e dois ativos. O símbolo entre aspas 00123 continua a ser texto, enquanto os pesos 0.6 e 0.4 passam a números.

O teste deste exemplo espera os mesmos valores no JSON formatado, incluindo o símbolo de texto e os dois pesos numéricos. O conversor não soma, normaliza nem altera os pesos.

Quando usar este conversor

Use o conversor quando precisar de representar uma pequena configuração YAML em JSON para inspeção ou para uma aplicação que aceite JSON.

Antes de usar o resultado em produção ou em contexto financeiro, execute as verificações de esquema e validação exigidas pela aplicação recetora.

Erros comuns

Não presuma que JSON válido significa uma configuração de carteira válida. Depois da conversão, verifique as chaves obrigatórias, os tipos dos valores e as restrições da aplicação. Coloque entre aspas símbolos ou identificadores de conta que possam ser interpretados como números.

Não use este conversor com funcionalidades YAML que não suporta. Âncoras, aliases, etiquetas, coleções em linha, escalares de bloco e vários documentos geram erros em vez de um valor JSON equivalente.

Etapas da conversão

Texto YAML → análise das estruturas e dos valores suportados → serialização do valor JSON com dois espaços de indentação

Isto converte sintaxe, não valida esquemas. O analisador suporta mapas e sequências em blocos, texto entre aspas, comentários, as formas booleanas true, True, TRUE, false, False, FALSE e as formas null, Null, NULL, ~, além de decimais seguros e finitos. Rejeita funcionalidades YAML não suportadas e não produz JSON parcial quando há erros. Coloque identificadores como 00123 entre aspas se tiverem de continuar a ser texto.

Limitações e pressupostos

Este conversor implementa um subconjunto limitado de YAML, não um analisador completo. Rejeita âncoras, aliases, etiquetas, diretivas, vários documentos, chaves complexas, coleções em linha como listas ou objetos e escalares de bloco. Só reconhece as formas indicadas para valores booleanos e null. Rejeita números especiais, prefixos de base, separadores numéricos e formas decimais fora da sintaxe suportada. Não valida esquemas de aplicações nem o significado de uma carteira. O limite é de 250 000 caracteres, 10 000 linhas e 64 níveis aninhados. Números inseguros ou de alta precisão são rejeitados porque a conversão pode alterar o seu valor. Coloque identificadores como 00123 entre aspas se os zeros iniciais tiverem de ser preservados. A análise ocorre no navegador e a última entrada pode ficar guardada no armazenamento local deste dispositivo.

Termos principais

Mapas e sequências
Um mapa associa valores a chaves de texto. Uma sequência é uma lista ordenada representada como um array JSON.
Caminho do resumo de tipos
Um caminho no estilo JSON Pointer identifica um valor pelas chaves do objeto e pelos índices da sequência, por exemplo /portfolio/holdings/0/symbol.
Tipo do valor analisado
O tipo analisado descreve apenas o valor JSON. Não indica que o valor cumpre um esquema de carteira ou da aplicação.

Comparar alternativas

Esta ferramenta converte um subconjunto da sintaxe YAML em blocos para JSON. Para dados de folhas de cálculo, use o conversor de CSV para JSON financeiro. Nenhum dos conversores verifica se uma configuração de carteira é financeiramente adequada.

Depois da conversão, valide o JSON com o esquema esperado pela aplicação. Uma análise concluída confirma apenas a sintaxe suportada. Não verifica campos obrigatórios, pesos da carteira, símbolos ou instruções de negociação.

Perguntas frequentes

Como funciona este conversor de YAML para JSON?

O conversor lê mapas e sequências em blocos indentados e serializa o valor analisado como JSON. Suporta coleções aninhadas, texto entre aspas, comentários, null, valores booleanos e números decimais finitos com precisão segura. Implementa um subconjunto limitado, não toda a especificação YAML.

Como são convertidos os tipos de valores YAML para JSON?

As formas true, True e TRUE passam a valores booleanos, tal como false, False e FALSE. As formas null, Null, NULL e ~ passam a null em JSON. Os decimais suportados passam a números. O texto entre aspas permanece como texto. Os restantes valores simples também são texto. YAML Core interpreta 00123 sem aspas como número, por isso coloque entre aspas os identificadores cujos zeros iniciais devam ser preservados.

O que mostra o resumo de tipos?

O resumo de tipos usa caminhos no estilo JSON Pointer e inclui os índices das sequências. Por exemplo, /portfolio/holdings/0/symbol identifica o símbolo do primeiro ativo. Mostra o tipo do valor JSON analisado e não valida um esquema da aplicação.

Como devo indentar mapas e sequências aninhados?

A indentação define os blocos aninhados. Use espaços, mantenha um nível consistente para os elementos subordinados e não use tabulações para indentar. O analisador assinala problemas de indentação em vez de adivinhar a estrutura pretendida.

O que acontece quando a entrada é inválida ou não suportada?

O conversor apresenta um erro e não devolve JSON quando encontra conteúdo não suportado ou mal formado. Corrija a linha indicada, quando disponível, e volte a analisar o texto. Rejeita funcionalidades como âncoras, aliases, etiquetas, coleções em linha, escalares de bloco e vários documentos.

Ferramentas relacionadas

Use o conversor de CSV para JSON financeiro quando a origem for uma exportação de folha de cálculo. Depois da conversão, valide o JSON com um validador ou com as verificações de esquema da aplicação. Esta página apenas altera o formato dos dados e não avalia alocações de carteira nem escolhas de investimento.