Shopify Python API如何将获取的商品列表序列化为JSON?
问题原因说明
- 第一次调用
to_json()报错是因为shopify.Product.find()返回的是PaginatedCollection分页集合对象,该对象本身没有to_json()方法,只有集合内的单个Product实例才自带序列化相关方法 - 第二次使用
json.dumps()报错是因为Shopify封装的Product类属于自定义对象,json模块无法直接序列化非原生Python类型的数据
正确实现方案
代码示例
import json import shopify # 此处保留你原有Shopify认证初始化逻辑 # shopify.ShopifyResource.set_site("你的店铺接口地址") # 拉取商品列表 products = shopify.Product.find() # 方案1:用内置to_dict()方法转原生字典后统一序列化(性能更优) product_list = [product.to_dict() for product in products] result_json = json.dumps(product_list) # 方案2:调用单个商品的to_json()方法组装 product_list = [json.loads(product.to_json()) for product in products] result_json = json.dumps(product_list)
如果你需要拉取全量多页商品,需要额外遍历
PaginatedCollection的分页结果,将所有页的商品实例都加入列表后再统一序列化即可。
内容的提问来源于stack exchange,提问作者Sagar Agarwal
相关产品推荐
相关产品推荐

