Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12

Тема: Как в Python JSON добавить JSON?

  1. Как в Python JSON добавить JSON?

    Приветствую, народ! Столкнулся с такой задачей: у меня есть два JSON объекта, и мне нужно объединить их в один. Короче говоря, как правильно в Python JSON добавить JSON? Хотелось бы услышать ваши советы, может кто примерчик накинет? была бы вообще огонь! ? Пытаюсь разобраться с этим материалом и вроде всё работает, но косяки возникают... Заранее всех благодарю!



  2. Ждём вас в нашем чате в Телеграмм ==>> @pythoneer_chat

    А ТАКЖЕ: Канал о Python, статьи и книги ==>>
    @pythoneer_ru

  3. Всё просто, чел. Для начала просто преобразуем твои JSON объекты в Python словари и объединим их. Вот примерчик:
    Программный код:
    import json
      
    json1 
    '{"key1": "value1", "key2": "value2"}'
    json2 '{"key2": "new_value2", "key3": "value3"}'
      
    dict1 json.loads(json1)
    dict2 json.loads(json2)
      
    dict1.update(dict2)
      
    result_json json.dumps(dict1)
    print(
    result_json
    Ленивые проценты, всё замутится в два счёта!

  4. Цитата Сообщение от Лаванда
    Всё просто, чел. Для начала просто преобразуем твои JSON объекты в Python словари и объединим их. Вот примерчик:
    Программный код:
    import json
      
    json1 
    '{"key1": "value1", "key2": "value2"}'
    json2 '{"key2": "new_value2", "key3": "value3"}'
      
    dict1 json.loads(json1)
    dict2 json.loads(json2)
      
    dict1.update(dict2)
      
    result_json json.dumps(dict1)
    print(
    result_json
    Ленивые проценты, всё замутится в два счёта!
    Пушка! Вот это реальный рабочий вариант, и просто, что удивительно. Чётко, спасибо за пример!

  5. Здаров! Ещё один способ - использовать библиотеку `deepmerge`. Сам часто пользуюсь, вот примерчик:
    Программный код:
    import json
    from deepmerge import always_merger
      
    json1 
    '{"key1": "value1", "key2": "value2"}'
    json2 '{"key2": "new_value2", "key3": "value3"}'
      
    dict1 json.loads(json1)
    dict2 json.loads(json2)
      
    merged_dict always_merger.merge(dict1dict2)
      
    result_json json.dumps(merged_dict)
    print(
    result_json
    Понадобится немного больше зависимостей, но зато гибко.

  6. Цитата Сообщение от Роман Валентинович
    Здаров! Ещё один способ - использовать библиотеку `deepmerge`. Сам часто пользуюсь, вот примерчик:
    Программный код:
    import json
    from deepmerge import always_merger
      
    json1 
    '{"key1": "value1", "key2": "value2"}'
    json2 '{"key2": "new_value2", "key3": "value3"}'
      
    dict1 json.loads(json1)
    dict2 json.loads(json2)
      
    merged_dict always_merger.merge(dict1dict2)
      
    result_json json.dumps(merged_dict)
    print(
    result_json
    Понадобится немного больше зависимостей, но зато гибко.
    Не знал про `deepmerge`, круто! Реально помогает, если JSON-ы сложные или вложенные. Респект!

  7. Ахой! Иногда я просто использую рекурсию. Вот упрощённый пример для духа:
    Программный код:
    def merge_dicts(dict1dict2):
        for 
    key in dict2:
            if 
    key in dict1 and isinstance(dict1[key], dict):
                
    merge_dicts(dict1[key], dict2[key])
            else:
                
    dict1[key] = dict2[key]
        return 
    dict1
      
    json1 
    '{"key1": "value1", "key2": "value2"}'
    json2 '{"key2": {"subkey": "new_value2"}, "key3": "value3"}'
      
    dict1 json.loads(json1)
    dict2 json.loads(json2)
      
    result_dict merge_dicts(dict1dict2)
    result_json json.dumps(result_dict)
    print(
    result_json
    Костыльный, но рабочий вариант.

  8. Цитата Сообщение от ViktorIce
    Ахой! Иногда я просто использую рекурсию. Вот упрощённый пример для духа:
    Программный код:
    def merge_dicts(dict1dict2):
        for 
    key in dict2:
            if 
    key in dict1 and isinstance(dict1[key], dict):
                
    merge_dicts(dict1[key], dict2[key])
            else:
                
    dict1[key] = dict2[key]
        return 
    dict1
      
    json1 
    '{"key1": "value1", "key2": "value2"}'
    json2 '{"key2": {"subkey": "new_value2"}, "key3": "value3"}'
      
    dict1 json.loads(json1)
    dict2 json.loads(json2)
      
    result_dict merge_dicts(dict1dict2)
    result_json json.dumps(result_dict)
    print(
    result_json
    Костыльный, но рабочий вариант.
    Ого, рекурсия - это мощно! Вложенные структуры сразу закроет. Респект за такой подход, бро.

  9. Just подумай о том, чтобы использовать `pydantic` для валидации и объединения, npm-like style:
    Программный код:
    from pydantic import BaseModel
    import json
      
    class Model(BaseModel):
        
    key1str
        key2
    str
        key3
    str None None
      
    json1 
    '{"key1": "value1", "key2": "value2"}'
    json2 '{"key2": "new_value2", "key3": "value3"}'
      
    dict1 Model.parse_raw(json1).dict()
    dict2 Model.parse_raw(json2).dict()
      
    combined = {**dict1, **dict2}
    result_json json.dumps(combined)
    print(
    result_json
    Иногда хочется больше типизации и контроля.

  10. Цитата Сообщение от ДжеймсБонд
    Just подумай о том, чтобы использовать `pydantic` для валидации и объединения, npm-like style:
    Программный код:
    from pydantic import BaseModel
    import json
      
    class Model(BaseModel):
        
    key1str
        key2
    str
        key3
    str None None
      
    json1 
    '{"key1": "value1", "key2": "value2"}'
    json2 '{"key2": "new_value2", "key3": "value3"}'
      
    dict1 Model.parse_raw(json1).dict()
    dict2 Model.parse_raw(json2).dict()
      
    combined = {**dict1, **dict2}
    result_json json.dumps(combined)
    print(
    result_json
    Иногда хочется больше типизации и контроля.
    Мда, `pydantic` прям убойный вариант! По ходу, для серьезных проектов это must-have. Красава!

Страница 1 из 2 12 ПоследняяПоследняя