使用 python 集合模块创建 json 子对象



我正在尝试构建一个 json 文档,作为发布正文请求传递给 api。

我正在从 mssql 中提取数据作为 arrray 列表,然后使用集合模型创建有序字典。需要有关如何创建子对象的帮助

import json, collections
rowarray_list = []
for row in rows:
    t = (row.NameLine1, row.NameLine2, row.Phone, row.Mobile, 
        row.Fax, row.Slogan, row.Address, row.City, row.State, row.Zip, 
        row.Email, row.WebSite, row.ApplyOnline,
        row.Preflight, row.Facebook, row.LinkedIn, row.Username)
    rowarray_list.append(t)
objects_list = []
for row in rows:
    d = collections.OrderedDict()
    d['Name'] = row.NameLine1
    d['Phone'] = row.Phone
    d['Mobile'] = row.Mobile
    d['Fax'] = row.Fax
    d['Slogan']=row.Slogan
    d['Address']=row.Address
    d['City'] = row.City
    d['State'] = row.State
    d['Zip'] = row.Zip
    d['Email']=row.Email
    d['Website']=row.WebSite
    d['ApplyOnline']=row.ApplyOnline
    d['Preflight']=row.Preflight
    d['Facebook']=row.Facebook
    d['LinkedIn']=row.LinkedIn
    d['Username']=row.Username
    objects_list.append(d)
json.dumps(objects_list)

我想让 json 对象像这样构建:

{"type": "task1",
 "body": {"Name": row.NameLine
          "Phone": row.Phone
          ... }}

我似乎不知道该怎么做

我能够通过使用不同的方法解决此问题。为每一行创建一个字典对象并将其追加到字典列表中。然后使用 json 库创建完整的 json 对象

rowarray_list=[]    
for row in rows:
        subdt = dict(Name=row.NameLine1, Title=row.NameLine2, Phone=row.Phone, Mobile=row.Mobile, 
             Fax=row.Fax, Slogan=row.Slogan, Address=row.Address, City=row.City, State=row.State, Zip=row.Zip, Email=row.Email, WebSite=row.WebSite, ApplyOnline=row.ApplyOnline,
             Preflight=row.Preflight, Facebook=row.Facebook, LinkedIn=row.LinkedIn, Username=row.Username)
        dt=dict(action='fetchView', body=subdt)
        rowarray_list.append(dt)
print(json.dumps(rowarray_list))
cursor.close()

最新更新