【问题标题】:How to serialize an array into json object?如何将数组序列化为 json 对象?
【发布时间】:2021-05-29 11:16:11
【问题描述】:

我正在编写一个获取car_id 及其所有图像的网络爬虫:

car_id = 12345
images = []
image_list = self.driver.find_elements_by_css_selector('.carousel-inner a img')
for img in image_list:
    img_url = img.get_attribute('src')
    if img_url:
        images.append(img_url)

程序的输出是一个 json 对象,包含 car_id 和它的图像列表...但是如何将 python 数组序列化为以下 json 对象?

item = {
    'car_id': car_id,
    'images': ["img1", "img2", ...] # serialize images array 
}

【问题讨论】:

    标签: python arrays json serialization


    【解决方案1】:
    car_id = 12345
    images = ['url1', 'url2', 'url3'] #list of image urls
    
    item = {
        'car_id' : car_id,
        'images' : images
    }
    

    item 字典可以使用编辑

    item['images'].append('url4')
    

    如果图像列表具有实际的图像对象(序列化为字节或其他格式),则images 列表可以包含这些对象。

    变量item 在python 中将是dict 类型。这可能足以满足您的用例。如果不是,那么您可能需要将其转换为 json string

    import json
    result = json.dumps(item)
    

    result 将具有所需的 json 字符串。

    【讨论】:

      【解决方案2】:

      初始化项目然后使用item['images'].append(img_url)

      items = []
      
      for id in listID:
          item = {
            "car_id": id, # 12345
            "images" = []
          }
          
          image_list = self.driver.find_elements_by_css_selector('.carousel-inner a img')
          for img in image_list:
              img_url = img.get_attribute('src')
              if img_url:
                  item['images'].append(img_url)
                  
          items.append(item)
          
      print(items)
      
      '''
      [{
          'car_id': 12,
          'images': ["img1", "img2", ...] 
      },
      {
          'car_id': 23,
          'images': ["img1", "img2", ...]
      }]
      '''
      

      【讨论】:

        猜你喜欢
        • 2014-01-28
        • 1970-01-01
        • 2014-03-05
        • 2019-01-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多