Python从字符串创建JSON对象

Posted

技术标签:

【中文标题】Python从字符串创建JSON对象【英文标题】:Python creating JSON object from string 【发布时间】:2022-01-22 20:11:15 【问题描述】:

我是 Python 新手,正在尝试生成 JSON 格式的字典列表。我通过遍历一个元素从 Selenium 获取数据。我将输出作为字符串。这是我的硒 sn-p:

Company = driver.find_elements_by_xpath("//*[@class='au-target company']")
Category = driver.find_elements_by_xpath("//*[@class='job-category']")

我使用这样的 for 循环获取数据:

for value in Company:
    print(value.text)

for value in Category:
    print(value.text)

这是我的结果:

Company A
Company B
Company C
Digital Technology
Manufacturing
Supply Chain

我希望我的数据采用以下格式

[
    
        "Company": "Company A",
        "Category": "Digital Technology"
    ,
    
        "Company": "Company B",
        "Category": "Manufacturing"
    ,
    
        "Company": "Company C",
        "Category": "Supply Chain"
    
]

到目前为止,我一直没有成功使用 json 模块。谢谢!

【问题讨论】:

这能回答你的问题吗? Python: Combine multiple lists into one JSON array 还有这个:***.com/questions/25348640/… 【参考方案1】:

你可以这样处理

d = []
for company, category in zip(Company, Category):
    d.append(
        "company": company.text,
        "category": category.text
    )

d = [
    "company": company.text, "category": category.text
    for company, category in zip(Company, Category)
]

【讨论】:

谢谢!我接受了你的第一个建议,效果很好!【参考方案2】:

试试这个,

data = []
for comp, cat in zip(Company, Category):
    data.append('Company':comp, 'Category': cat)

输出:

data
[
    
        "Company": "Company A",
        "Category": "Digital Technology"
    ,
    
        "Company": "Company B",
        "Category": "Manufacturing"
    ,
    
        "Company": "Company C",
        "Category": "Supply Chain"
    
]

【讨论】:

以上是关于Python从字符串创建JSON对象的主要内容,如果未能解决你的问题,请参考以下文章

Python 从 JSON 文件创建树

从 JSON 创建对象

python 对象和json互相转换

Python 和 JSON - 附加到字符串对象

通过php从mysql结果创建json对象[重复]

从 for 循环创建 json 对象数组