【发布时间】:2019-09-18 06:49:47
【问题描述】:
我需要像这样创建一个数组,
{
"driver_details":[
{
"dr_id": 1,
"v_id": 2,
"v_type":"car",
"condition":"ok"
},
{
"dr_id": 2,
"v_id": 3,
"v_type":"cab",
"condition":"ok"
},
]
}
我尝试使用此方法返回 dr_id、v_id、condition、type 值作为列表,
但是从中提取值很困难,并且无法获得dr_id,v_id等特定数据。
def get(self, owId):
return_data = []
for driver in driver_schema.dump(DriverModel().get_driversby_ownerId(owId)):
for vehicle in vehicle_schema.dump(VehicleModel().vehicle_detailby_driver(driver['dr_id'])):
return_data.append(driver['dr_id'])
return_data.append(vehicle['vehicle_type'])
return_data.append(vehicle['condition'])
return return_data
所以我尝试了json.dump() 方法,但它返回以下值
"[1.0, \"car\", false, 13.0, false, 2.0, \"bus\", false, 50.0, false]"
我也尝试在循环中使用字典,如下所示
def get(self, owId):
return_data = {}
for driver in driver_schema.dump(DriverModel().get_driversby_ownerId(owId)):
for vehicle in vehicle_schema.dump(VehicleModel().vehicle_detailby_driver(driver['dr_id'])):
return_data.update({'driver':driver['dr_id'], 'vehicle':vehicle['vehicle_type'], 'v_type':vehicle['vehicle_type']})
return return_data
这样,它只包含循环中的最后一个值。
那么我怎样才能达到我的预期效果呢?
提前致谢。
【问题讨论】:
标签: python json list dictionary