Python - 创建 JSON 数组?并传递给 ajax

use*_*245 2 python arrays ajax parsing json

在我的 python 服务器端脚本中,我有以下内容

....


data = {}
data['id'] = id
data['organizer'] = organizer
data['eventStart'] = eventStartLocal
data['eventEnd'] = eventEndLocal
data['subject'] = subject
data['attendees'] = attendees
# Serializing Data 
json_data = json.dumps(data)
id += 1
print(json_data) #this is what the script returns 
Run Code Online (Sandbox Code Playgroud)

在我的前端使用 jquery/javascript 我有这个..

$.ajax({
       type: 'REQUEST',
       dataType: 'text',
          url: 'json.py',
          success: function(data){
               console.log(data);
               obj = JSON.parse(data);
               },

            }).done(function(){

                console.log(obj)
            })

        });
Run Code Online (Sandbox Code Playgroud)

我的输出是:

{"id": 0, "organizer": "Some Name", "eventStart": "09:30 AM", "eventEnd": "10:00 AM", "subject": "rental procedure", "attendees": "Some Name<br />Person 2<br />Person 3"}
{"id": 1, "organizer": "Some Name", "eventStart": "09:30 AM", "eventEnd": "10:00 AM", "subject": "rental procedure", "attendees": "Some Name<br />Person 2<br />Person 3"}
{"id": 2, "organizer": "Some Name", "eventStart": "09:30 AM", "eventEnd": "10:00 AM", "subject": "rental procedure", "attendees": "Some Name<br />Person 2<br />Person 3"}
Run Code Online (Sandbox Code Playgroud)

我的问题

当我尝试在 javascript 中解析 json 时,我收到一个关于

意外的令牌 { 在 JSON 中的位置

在做了一些研究之后,我发现我必须发送一个 json 数组作为响应,而不是为每个事件打印一个 jsoned 行,否则我的 javascript 将无法解析它并将其放入一个对象中。

我的目标

从服务器获取数据并将其作为对象传递给 javascript,以便我可以遍历该对象并为每个事件创建一个 HTML 元素。

我是这个 JSON 的新手,不知何故我需要执行以下操作,但我似乎不知道如何创建一个 json 数组(在每个 json/line 的末尾都有 [] 和 , 。

[
    {"id": 0, "organizer": "Some Name", "eventStart": "09:30 AM", "eventEnd": "10:00 AM", "subject": "rental procedure", "attendees": "Some Name<br />Person 2<br />Person 3"},
    {"id": 1, "organizer": "Some Name", "eventStart": "09:30 AM", "eventEnd": "10:00 AM", "subject": "rental procedure", "attendees": "Some Name<br />Person 2<br />Person 3"},
    {"id": 2, "organizer": "Some Name", "eventStart": "09:30 AM", "eventEnd": "10:00 AM", "subject": "rental procedure", "attendees": "Some Name<br />Person 2<br />Person 3"}
]
Run Code Online (Sandbox Code Playgroud)

use*_*461 10

...答案末尾的 JSON 数组不正确,但要生成数组,只需在 Python 中为 json.dumps 提供一个列表。就像是json_data_list = []; ... ; json_data_list.append(json_data); ... print(json.dumps(json_data_list)); ...