Scrapy - 将嵌套字典生成 JSON 文件 - 不起作用

Scrapy - yield nested dictionary to JSON file - doesn't work

编辑

正如 Georgiy 所建议的,我尝试生成 dict 而不是 Item,结果是一样的。

编辑结束

正在尝试将 Scrapy 输出导出到 JSON 文件。项目应具有以下格式:

{'name':'Peter', 'attrs':{'attr1':<VAL>, 'attr2':<VAL>}}

问题是 Scrapy 只渲染 name。原因可能是 attrs 是一个字典。

class CookieBotItem(scrapy.Item):
    name = scrapy.Field()
    attrs = scrapy.Field()

为简单起见,我return总是这样:

    yield CookieBotItem(name='Peter',
                        attrs={
                            'attr1': 'val1',
                            'attr2': 'val2'}
                        )

输出如下所示:

[
{"name": "Peter"},
{"name": "Peter"},
{"name": "Peter"},
{"name": "Peter"},
{"name": "Peter"},
{"name": "Peter"},
{"name": "Peter"},
{"name": "Peter"}
]

你知道如何让它发挥作用吗?

不确定这里使用 Item classes.. 嵌套项目。
最快的方法是 yield 字典(不是 Item class 个对象):

    yield {
           'name': 'Peter',
           'attrs':{'attr1': 'val1','attr2': 'val2'}
          }