【问题标题】:Parsing JSON data entries for specific field values解析特定字段值的 JSON 数据条目
【发布时间】:2021-07-02 22:57:11
【问题描述】:

我目前正在尝试通过以下字段的条目来解析以下 JSON 文件,但在尝试遍历文件以执行此操作时遇到问题。有人可以帮我找到一种有效的方法来解决这个问题吗?

import requests
import json

jsonFile = open("/users/bboyf/Downloads/Aaron697_Brekke496_2fa15bc7-8866-461a-9000-f739e425860a.json", "r")
data = json.load(jsonFile)
jsonFile.close()

idValue = data['entry'][223]['resource']['medicationCodeableConcept']['coding'][0]['code']

print(idValue)

r = requests.get('https://rxnav.nlm.nih.gov/REST/interaction/list.json?rxcuis='+ idValue)

print(r.text)

更具体地说,如果 json 数据文件中存储的许多条目中有多个条目,我正在尝试找出一种方法来查找 idValues。有没有一种有效的方法可以通过解析文件或通过条目中的 for 循环来更好地获取这些值?

idValue = data['entry'][223]['resource']['medicationCodeableConcept']['coding'][0]['code']

另外,您将如何迭代具有以下数据层次结构的数据? https://jsonblob.com/f92fabd6-db8b-11eb-bf92-87c0d3acf4df

【问题讨论】:

  • 你能分享一下 JSON 模式吗?一定会看到你需要循环的所有内容,并请更好地解释你有什么和你的预期输出作为样本。从哪里到哪里。 :) 谢谢。
  • 是的,您可以在此处访问 JSON 文件,它提供了更好的架构。
  • 我的预期输出是返回存储在“medicationCodeableConcept”子字段下的代码字段
  • 没有什么比解析后循环遍历数据更好的了。

标签: python json parsing


【解决方案1】:

请尝试此解决方案。

import json

# conver string to JSON
f = open("./file.json",)

# returns JSON object as 
# dictionary
data = json.load(f)

# Iterate through the json
# list

for obj in data["entry"]:
    if "medicationCodeableConcept" in obj["resource"]:
        for codes in obj["resource"]["medicationCodeableConcept"]["coding"]:
            print("system: {} \ncode: {} \ndisplay: {}".format(codes['system'], codes['code'], codes['display']))

f.close()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-23
    • 2019-11-28
    • 2017-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多