@Scorpic

Как вставить переменную в JSON?

Всем Привет!

В Pyton не разбираюсь, но надо написать небольшой скрипт, отправки JSON в API
Не понимаю как вставить в JSON переменную (base64 файл)

Кусок кода:
image_url = "https://mail.ru/pass.jpg"
with urllib.request.urlopen(image_url) as image_file:
        encoded_string = base64.b64encode(image_file.read())

batch = {
  "Id": "b1g",
  "cs": [
    {
      "content":  encoded_string,
      "features": [
        {
          "tp": "TX",
          "text": {
            "lang": [
             "*"
            ],
            "md": "pass"
          }
        }
      ]
    }
  ]
}

resp = requests.post("https://yam.net/v1/Analyze", json=batch ).json()


Как правильно вставить переменную encoded_string в JSON?
  • Вопрос задан
  • 3332 просмотра
Решения вопроса 1
@Scorpic Автор вопроса
Проблема решена.
В json используется UTF-8, кодирую файл в base64 получается переменная в bytes
Чтобы перевести в строку надо добавить encoded_string = encoded_string.decode("UTF-8")
Да и добавить batch["cs"][0]["content"] = encoded_string
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
SoreMix
@SoreMix Куратор тега Python
yellow
Какой у вас JSON? Что вам нужно? Слово в список, ключ со значением??? В какой JSON? У вас их по сути два
Ответ написан
Комментировать
@PavelMos
JSON это словарь. В отличие от списка, куда добавлять можно только последующий элемент/ы через встроенные функции append/extend или через +=, в словарь можно добавлять/перезаписывать просто указанием ключа с путём от начала словаря и значения этого ключа.
dict1['level1']['level2']['level3']=999
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы