@camillo1990

Как проверить в JSON наличие определенного поля?

Как проверить в JSON наличие определенного поля?
К примеру slot:0 и slot:1?

[
{
"Id":1267,
"slot":0,
"codename":"beans",
"name":"apple1"
},
{
"Id":1268,
"slot":1,
"codename":"pineapple",
"name":"potato"
},
{
"Id":1269,
"slot":2,
"codename":"chil",
"name":"ball"
},
{
"Id":1270,
"slot":3,
"codename":"apple",
"name":"banana"
}
],
  • Вопрос задан
  • 134 просмотра
Решения вопроса 2
Vindicar
@Vindicar
Элементарная работа со списками и словарями. Азы языка.
Парсишь строку JSON в объект (назовем его json_obj) через json.load() или json.loads(), смотря что удобнее.
У тебя объект верхнего уровня - массив, т.е. список. Перебираешь его элементы циклом for item in json_obj.
Объекты следующего уровня - просто объекты, т.е. словари. Если надо проверить именно наличие поля, безотносительно его значения, то просто 'slot' in item.
Всё.
Ответ написан
@rodionovit
Если я правильно понял вопрос

import json

json_str = '[{"Id":1267,"slot":0,"codename":"beans","name":"apple1"},{"Id":1268,"slot":1,"codename":"pineapple","name":"potato"},{"Id":1269,"slot":2,"codename":"chil","name":"ball"},{"Id":1270,"slot":3,"codename":"apple","name":"banana"}]'


json_obj = json.loads(json_str)
# если отдельный элемент проверить
if json_obj[0].get("slot") != None:
    print("ok")
else:
    print("not ok")
    

for item in json_obj:
    if item.get("slot") != None:    
        print("ok")
    else:
        print("not ok")
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы