回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有这个JSON文件。你知道吗</p>
<pre><code>{
"reviewers":[
{
"user":{
"name":"keyname",
"emailAddress":"John@email",
"id":3821,
"displayName":"John Doe",
"active":true,
"slug":"jslug",
"type":"NORMAL",
"link":{
"url":"/users/John",
"rel":"self"
},
},
"role":"REVIEWER",
"approved":true
},
{
"user":{
"name":"keyname2",
"emailAddress":"Harry@email",
"id":6306,
"displayName":"Harry Smith",
"active":true,
"slug":"slug2",
"link":{
"type":"NORMAL",
"url":"/users/Harry",
"rel":"self"
},
},
"role":"REVIEWER",
"approved":false
}
],
}
</code></pre>
<p>最初,我使用的是一段代码,它将遍历并获取审阅者的全名。你知道吗</p>
<pre><code>def get_reviewers(json):
reviewers = ""
for key in json["reviewers"]:
reviewers += key["user"]["displayName"] + ", "
reviewers = reviewers[:-2]
return reviewers
</code></pre>
<p>返回<code>"John Doe, Harry Smith"</code>。但是,现在我正在尝试获取它,这样如果用户的标记等于true <code>"approved"=true</code>,脚本就会在用户名旁边返回a(a)。你知道吗</p>
<p>例如,上面的代码将获得名称,然后看到John的approved标记为true,Harry的为false,然后返回<code>"John Doe(A), Harry Smith"</code>。我只是不知道从哪里开始。有人能给我指出正确的方向吗?你知道吗</p>
<p>这是我迄今为止一直在尝试的,但显然它并没有像我希望的那样工作。你知道吗</p>
<pre><code>def get_reviewers(stash_json):
reviewers = ""
for key in stash_json["reviewers"]:
if stash_json["reviewers"][0]["approved"] == true:
reviewers += key["user"]["displayName"] + "(A)" + ", "
else:
reviewers += key["user"]["displayName"] + ", "
reviewers = reviewers[:-2]
return reviewers
</code></pre>
<p>输出<code>Jason Healy(A), Joan Reyes(A)</code></p>
<p>这就是我的<code>stash_json</code>通过pprint输出的内容。你知道吗</p>