2016-07-10 3 views
0

У меня проблема, которая сводит меня с ума. У меня есть функция, которую я запускаю в API, который я создаю в Flask. Я возвращаю значения JSON в зависимости от определенных вещей. Я собираюсь просто показать вам четыре строки кода, потому что остальные не должны действительно имеет значение здесь:Jsonify Return возвращается

print 'example' not in json_string 
return jsonify({'error': 'Error entering user.'}) 

if 'example' not in json_string: 
    return jsonify({'error': 'Error entering user.'}) 

Поэтому в основном я запускаю это в первый раз, и она печатает True возвращается:

{'error': 'Error entering user.'} 

И то я прокомментирую, что сначала вернусь, и он подтвердит утверждение if и возвращает:

{} 

Что в мире происходит здесь? Я скопировал ту же строку, но после утверждения IF не вернет значение. Он возвращает пустой набор, но ничего не возвращает.

Не имеет смысла для меня. Есть идеи? Благодаря!

UPDATE

Во втором случае, если я печатаю его, прежде чем вернуть его я получаю <Response 55 bytes [200 OK]> так что есть что-то там. Почему он не возвращается?

+0

Являются ли эти линии всей частью одной и той же функции? –

+0

Да, они находятся в одной и той же функции. Для большего контекста он находится в функции try, и я понял, что теперь он переходит к «окончательной» части функции. Я не понимаю, почему он будет там, потому что он печатает что-либо в этом выражении if. Теперь я расскажу о более подробных подробностях о том, что я получаю больше здесь ... – MillerMedia

+0

Ах, я глуп. Возвращение, которое я передаю, фактически возвращает функцию try, а не общую функцию. Я затрону свой вопрос, если у кого-то другая проблема. – MillerMedia

ответ

0

Вы получаете ответ - <Response 55 bytes [200 OK]> при печати, поскольку jsonify возвращает объект ответа с заголовками, идеально подходящими для броузеров и вызовов API.

Если вам нужно просмотреть или использовать полезную нагрузку/данные в своем сценарии, используйте json.dumps или вызовите атрибут data в объекте ответа. Например.

return jsonify({'error': 'Error entering user.'}).data 
Смежные вопросы