Ferramenta de Mesclagem JSON
Mescla profundamente múltiplos objetos JSON em um com opções de resolução de conflitos.
Sobre esta ferramenta
A ferramenta JSON Merge combina múltiplos objetos JSON em uma única estrutura unificada usando mesclagem profunda, o que significa que objetos e matrizes aninhados são inteligentemente combinados em vez de serem simplesmente sobrescritos. Isso é essencial para desenvolvedores que trabalham com arquivos de configuração, respostas de API ou fluxos de trabalho de agregação de dados, onde você precisa combinar dados de diferentes fontes enquanto preserva informações significativas de cada entrada.
Para usar a ferramenta, cole seus objetos JSON nos campos de entrada, selecione sua estratégia de mesclagem preferida (como sobrescrita, concatenação de matrizes ou mesclagem profunda) e clique no botão de mesclagem. A ferramenta manipula estruturas aninhadas automaticamente, resolvendo conflitos de acordo com sua estratégia escolhida. Os casos de uso comuns incluem mesclagem de configurações de ambiente, consolidação de cargas de API, integração de configurações de múltiplos serviços e unificação de fixtures de teste ou dados fictícios.
A ferramenta funciona inteiramente no seu navegador, então seus dados JSON nunca saem do seu computador, tornando-a segura para configurações sensíveis. Lembre-se de que o comportamento da mesclagem depende de sua estratégia escolhida—entenda se você deseja combinar objetos aninhados, adicionar matrizes ou substituir valores para obter o resultado exato que você precisa.
Perguntas Frequentes
Implementação de Código
import json
from copy import deepcopy
def deep_merge(base: dict, override: dict, strategy: str = "last_wins") -> dict:
"""
Deep merge two dicts.
strategy: 'last_wins' | 'first_wins' | 'array_concat'
"""
result = deepcopy(base)
for key, value in override.items():
if key in result:
if isinstance(result[key], dict) and isinstance(value, dict):
result[key] = deep_merge(result[key], value, strategy)
elif isinstance(result[key], list) and isinstance(value, list) and strategy == "array_concat":
result[key] = result[key] + value
else:
if strategy != "first_wins":
result[key] = deepcopy(value)
else:
result[key] = deepcopy(value)
return result
# Example
a = {"name": "Alice", "scores": [1, 2], "meta": {"v": 1}}
b = {"name": "Bob", "scores": [3, 4], "meta": {"v": 2, "new": True}}
print(json.dumps(deep_merge(a, b, "last_wins"), indent=2))
print(json.dumps(deep_merge(a, b, "first_wins"), indent=2))
print(json.dumps(deep_merge(a, b, "array_concat"),indent=2))
Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.