İçeriğe geç
🛠️ToolsShed

JSON Birleştirme Aracı

Birden fazla JSON nesnesini çakışma çözüm seçenekleriyle derinlemesine birleştirir.

JSON Nesnesi #1
JSON Nesnesi #2

Bu araç hakkında

JSON Merge Aracı, birden çok JSON nesnesini derin birleştirme kullanarak tek bir birleştirilmiş yapıya birleştirir; bu, iç içe geçmiş nesnelerin ve dizilerin basitçe üzerine yazılmak yerine zekice birleştirildiği anlamına gelir. Bu, yapılandırma dosyaları, API yanıtları veya veri toplama iş akışlarıyla çalışan geliştiriciler için, farklı kaynaklardan gelen verileri birleştirirken her girdiden anlamlı bilgileri korumanız gerektiğinde önemlidir.

Aracı kullanmak için JSON nesnelerinizi giriş alanlarına yapıştırın, tercih ettiğiniz birleştirme stratejisini seçin (üzerine yazma, dizi bitiştirme veya derin birleştirme gibi) ve birleştir düğmesine tıklayın. Araç, iç içe geçmiş yapıları otomatik olarak işler ve seçilen stratejinize göre çatışmaları çözer. Yaygın kullanım örnekleri, ortam yapılandırmalarını birleştirme, API yüklerini birleştirme, birden çok hizmetten ayarları birleştirme ve test desteklerini veya sahte verileri tümleştirmedir.

Araç tamamen tarayıcınızda çalışır, bu nedenle JSON verileriniz hiçbir zaman bilgisayarınızdan ayrılmaz ve bu da hassas yapılandırmalar için güvenli hale getirir. Birleştirme davranışının seçtiğiniz stratejiye bağlı olduğunu unutmayın—iç içe geçmiş nesneleri birleştirmek isteyip istemediğinizi, dizileri eklemek isteyip istemediğinizi veya değerleri değiştirmek isteyip istemediğinizi anlayarak ihtiyacınız olan tam sonucu elde edin.

Sıkça Sorulan Sorular

Kod Uygulaması

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.