Просто, чтобы проверить, JSON вид по умолчанию, который изменяет объекты питона в JSON, кажется, включает пробелы между переменными, т.е.ли web2py возвращает JSON есть постороннее пробелы, если да, то как удалить
"field": [[110468, "Octopus_vulgaris", "common octopus"...
, а не
"field":[[110468,"Octopus_vulgaris","common octopus"...
Это правильно? Если да, есть ли простой способ вывода JSON без лишних пробелов, и это по какой-либо причине (кроме читаемости) - плохая идея.
Я пытаюсь сделать некоторые вызовы API возвращением самого быстрого и краткого представления JSON, поэтому любые другие советы с благодарностью принимаются. Например, я вижу, что вызов вызывает from gluon.serializers import json
- он получает повторное импортирование каждый раз, когда используется представление, или достаточно умен для python, чтобы использовать его только один раз. Я надеюсь на последнее.
Спасибо за большой и быстрый ответ. Я вижу, что стандартный генератор json помещает response.headers ['Content-Type'] = 'text/json' * после * response.write(), что кажется немного странным. Идиотка, какая причина для этого. Это подразумевает, что ответ буферизуется где-то, и заголовки добавлены позже, что кажется немного обходным путем. – user2667066
'response.write' не отправляет HTTP-запрос в браузер. Скорее, он просто пишет текст в объект 'response.body'' StringIO'. В шаблонах '{{= x}}' эквивалентен 'response.write (x)', как отмечено [здесь] (http://web2py.com/books/default/chapter/29/05/the-views #Виды). Ответ HTTP не отправляется в браузер до тех пор, пока не будет выполнен весь просмотр. – Anthony