我在使用我们的某个产品API传递给我的JSON对象时遇到问题。我正在使用Python 2.7创建一个功能,让我们的客户服务团队查看有关我们网站上发布的工作的详细信息。 JSON包返回一个对象数组,每个对象包含一个数组和一个对象。我需要读取与主对象中的一个对象关联的数组,但是它们不是嵌套的。因为在申请人的数组中没有嵌套在Job的对象中。这意味着我通常的“回复[0] [0] ['applicantName']”在这里不起作用。
以下数据已更新,以表示API实际给我的内容。我以前道歉,我编辑了它以保护数据。仍然做同样的事情,但这是实际的结果。
我想做的是让用户输入jobId,然后我会向他们提供与该jobID相关的所有申请人的列表。由于jobID有时可能是非顺序的,我不能使用索引号,它必须是jobID号。
有人可以帮忙吗?
以下是我得到的JSON结构:
[{u'bids': [{u'applicantId': 221,
u'comment': 'I have applied to the job'},
{u'applicantId': 221,
u'comment': 'I have applied to the job'}],
u'job': {u'jobId': 1}},
{u'bids': [{u'applicantId': 221,
u'comment': 'I have applied to the job'},
{u'applicantId': 221,
u'comment': 'I have applied to the job'}],
u'job': {u'jobId': 1}}]
正如我所说的,我在python 2.7中使用“requests”库来调用API而使用.json()来读取它。
提前致谢!
答案 0 :(得分:1)
该内容似乎不是有效的json,这意味着您将无法使用典型的json.loads
函数解析它。
此外,您将无法使用ast.literal_eval因为它不是有效的python表达式。
不确定这是一个好主意......但假设您将该内容作为字符串获取,我会尝试为该类型的服务器对象编写我自己的解析器,或者只是寻找能够使用外部库的外部库解析它们。