Массив JSON будет выгружен без имени / назначения.
То есть, чтобы дать ему имя, в вашем коде JavaScript вы должны сделать что-то вроде этого:
var my_json_data_dump = function_that_gets_json_data();
Если вы хотите визуализировать это, например, замените:
var my_json_data_dump = { 'first_name' : Bob, 'last_name': smith };
Кроме того, как сказал Иганасио, вам понадобится что-то вроде json2.js
для анализа строки в объекте в последнем примере. Вы можете обернуть этот шаг разбора внутри function_that_gets_json_data
, или, если вы используете jQuery, вы можете сделать это с помощью функции, подобной jQuery.getJSON () .
json2.js все равно приятно иметь.
В ответ на комментарий (мне нужны пробел и разметка):
Да, конечно. Все, что делает сторона Python - это кодирование строкового представления (JSON) для вас. Вы можете сделать что-то вроде 'var blah = %s' % json.dumps(obj_to_encode)
и затем на стороне клиента, вместо того, чтобы просто анализировать ответ как JSON, вы анализируете его как JavaScript.
Я бы не рекомендовал это по нескольким причинам:
- Вы больше не выводите JSON. Что если вы хотите использовать его в контексте, в котором вам не нужно имя переменной или вы не можете разобрать JavaScript?
- Вы оцениваете JavaScript вместо простого анализа JSON. Эта операция открыта для дыр в безопасности (если кто-то может заполнить данные, он может выполнить атаку XSS ).
Полагаю, вы столкнулись с чем-то, к чему, как мне кажется, стремится каждый разработчик Ajax Вам нужно одно правдоподобие в вашем приложении, но теперь вам предлагается определять переменные и все такое в JavaScript. Таким образом, вы должны сопоставить свой код Python с кодом JavaScript, который его использует.
Я бы не стал слишком зацикливаться на этом. Я не понимаю, почему вам так нужно было бы контролировать имя переменной из Python. Если вы рассчитываете на то, что имя переменной совпадает, и вы можете ссылаться на нее в последующем коде JavaScript или Python, вы можете избежать этого, просто перестроив свой код. Я не имею в виду это как критику, просто очень полезное (в общем) предложение!