更新:当对象包含一个数组和同一级别的另一个关联对象时,在python中解析JSON对象

时间:2016-08-15 17:19:34

标签: python asp.net arrays json

我在使用我们的某个产品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()来读取它。

提前致谢!

1 个答案:

答案 0 :(得分:1)

该内容似乎不是有效的json,这意味着您将无法使用典型的json.loads函数解析它。

此外,您将无法使用ast.literal_eval因为它不是有效的python表达式。

不确定这是一个好主意......但假设您将该内容作为字符串获取,我会尝试为该类型的服务器对象编写我自己的解析器,或者只是寻找能够使用外部库的外部库解析它们。