Чтение значения из массива нескольких объектов (JSON) - PullRequest
0 голосов
/ 22 января 2019

Я новичок в кодировании и пытаюсь создать HTTP-API с python.У меня есть массив объектов в формате JSON.Я хочу прочитать значение одного из этих объектов.

В моем скрипте python я добавляю таблицу базы данных к массиву объектов.Я ищу решение для выбора одного значения в одном из этих объектов.

У меня есть функция:

cur.execute(<SELECT STATEMENT>)
row_headers=[x[0] for x in cur.description]
response = cur.fetchall()
json_data=[]
for result in response:
    json_data.append(dict(zip(row_headers,result))) 
return jsonify(json_data)

возврат выглядит так:

[
    {
        "ID": 123,
        "CODE": 4117,
        "STATUS": "off",
    },
    {
        "ID": 345,
        "CODE": 5776,
        "STATUS": "on",
    }
]

Я ищу функцию (inputID):

where ID = inputID
set currentcode = <CODE>
set currentstatus = <STATUS>
<Do something with currentcode and currentstatus>

Ответы [ 2 ]

0 голосов
/ 22 января 2019

Я думаю, что нашел ошибку.Я не знаю точно, что случилось с:

return jsonify(json_data)

Но, похоже, это делает мой массив не пригодным для использования / повторяемым.Я попробовал это с

return(json_data)

Вывод выглядит так же, но знаю, что я могу использовать

for x in json_data:
0 голосов
/ 22 января 2019

Я полагаю, вы ищете это:

def return_with_id(input_id):
    for x in json_data:
        if x['ID'] == input_id:
            return x

Это зациклит каждый индекс в json_data и проверит, равен ли идентификатор этого индекса тому, что вы просили, если он найдет что-то, что соответствует, он вернет это, и функция завершит работу.

Если вы хотите сделать что-то еще с этим, вы можете сделать это, просто отредактировав код, прежде чем он вернется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...