Как проверить пустой JSON в снежинке ⇐ Python

Программы на Python
Anonymous
Как проверить пустой JSON в снежинке

Сообщение Anonymous »

У меня есть json, как показано ниже, в столбце вариантов (полезная нагрузка) в таблице снежинок.

Код: Выделить всё

{
"Input1": {
"address": "",
"phone": "123-345-6789",
"city": "",
"class": "",
"name": "test",
"no_call": true,
"state": "",
"zip": ""
},
"Input2": {
"person": {}
}
}
Когда мой личный словарь пуст в input2, мне нужно взять значения input1 и создать новый объект json. Я пишу код, как показано ниже.
Фрагмент кода:

Код: Выделить всё

query="""
select case when payload:Input2:person::variant !='{}'
then construct my object with Input2 values
else construct my object with Input1 values end as person_details from {sf_schema}.{sf_table}
""".format_map(conn_dict)
cs.execute(query);
Это код Python, с помощью которого я выполняю запрос в Snowflake. Но я получаю следующую ошибку:

ValueError: строка формата содержит позиционные поля

Мой conn_dict имеет значения sf_schema и sf_table. Проблема связана с этим утверждением. Он рассматривает {} как позиционный аргумент, тогда как я проверял, пустой ли это словарь или нет.

Код: Выделить всё

payload:Input2:person::variant !='{}'
Я пытался экранировать символы, но безуспешно. Подскажите, пожалуйста, как решить эту проблему.

Подробнее здесь: https://stackoverflow.com/questions/724 ... -snowflake

Вернуться в «Python»