解析特定值的json输出

时间:2018-03-10 14:11:14

标签: python json parsing

我正在编写Python脚本以使用键来获取API并获取json数据,然后它应该解析特定值的json数据并使用这些值它将在for循环中再次访问API以获取另一个json数据,然后解析它并邮寄给关心的人。这是我的Python项目。

这是我在@skagra_dragneel的帮助下得到的。我一直在阅读有关Python和json解析的多篇帖子,但它们都没有工作。

import ConfigParser
import json
import requests
from pprint import pprint
import urllib

# Read the credentials from File (Not Using those here in raw format)
Config = ConfigParser.ConfigParser()
Config.read('C:/Users/admin/source/repos/MyProject/MyProject/config.ini')
Username = Config.get('credentials',  'Username')
Password = Config.get('credentials', 'Password')

# Get Request for the json output
def apicall():
     request_url = 'https://example.com/admin/api/v1/list'
     headers = {'X-ApiKeys' : 'accessKey=' + Username + '; secretKey=' + Password}
     result = requests.get(request_url,headers=headers).json()
     print result;

apicall()

以下是运行时的输出。

[{u'size': u'72980725', u'status': u'ready', u'repo_id': u'abc', u'name': u'repo1', u'created_at': u'2018-03-08T10:03:36.965Z', u'updated_at': u'2018-03-10T12:56:40.294Z', u'platform': u'Docker', u'score': u'0.0', u'number_of_vulnerabilities': u'0', u'id': u'yyyy', u'digest': u'sha256:xxxx', u'repo_name': u'repo1'}, {u'size': u'67191884', u'status': u'ready', u'repo_id': u'xyz', u'name': u'repo2', u'created_at': u'2018-03-08T09:56:16.554Z', u'updated_at': u'2018-03-10T12:09:27.963Z', u'platform': u'Docker', u'score': u'6.0', u'number_of_vulnerabilities': u'18', u'id': u'-xyz', u'digest': u'sha256:xxxx', u'repo_name': u'repo2'}]

在json验证器中粘贴输出时,它显示“Invalid Json”。知道如何完成这个项目吗?

编辑:我编辑了print语句,用于根据Python: json.loads returns items prefixing with 'u'从json输出中打印“id”值,但它只打印一个值而不是两个值。

0 个答案:

没有答案