使用python遍历json字典/对象

时间:2018-06-20 11:57:21

标签: python json sqlite

有一个json文件,该文件包含我要放入数据库中的数据,但是有10000多个条目。所以我想使其自动化。

这是通过python解析的json代码的示例:

.iloc

基本上我说的是{'product': {'product_data': [{'product_name': 'debian_linux', 'version': {'version_data': [{'version_value': '8.0'}]}}]}, 'vendor_name': 'debian'}]}}, 'data_format': 'MITRE', 'data_type': 'CVE', 'data_version': '4.0', 。我想在json文件中打印出每个产品名称,但如果其中有多个条目,则仅显示'product_name': 'debian_linux'中的1个(例如:可能有15条提到的debian_linux或windows_server_2008,但我只想要来看看那十五个之一。)

我阅读了product_name库的文档,但是如果没有丰富的编码经验,很难理解,但是我给了一个介绍,到目前为止,这里是我的代码:

jsons

我收到一个错误,说import json from pprint import pprint with open('nvd.json') as f: data = json.load(f) pprint(data["product_name"])

2 个答案:

答案 0 :(得分:0)

如评论中所述,您具有嵌套字典,即。你必须用例如<div class="one"> <span>Some example of a very very long text</span> <span>Some example of a very very long text</span> <span>Some example of a very very long text</span> <span>Some example of a very very long text</span> <span>Some example of a very very long text</span> <span>Some example of a very very long text</span> </div>,然后验证密钥是否与您的for key, values in data.items()相符。

另请参阅iterating over dictionaries

答案 1 :(得分:0)

我知道了!

import json
import sqlite3

with open('nvd.json', 'r') as file:
    parsed = json.load(file)

for item in parsed['CVE_Items']:
    for x in item:
        for test in item['cve']['affects']['vendor']['vendor_data']:

            print(test['product']['product_data'][0]['product_name'])