我正在从API获得以下响应,我想从Python中的该对象提取电话号码。我该怎么办?
Image
答案 0 :(得分:1)
将API响应存储到变量中。我们称之为response
。
现在使用json
模块将JSON字符串转换为Python字典。
import json
response_dict = json.loads(response)
现在遍历response_dict
以获得所需的文本。
phone_number = response_dict["ParsedResults"][0]["TextOverlay"]["Lines"][0]["Words"][0]["WordText"]
无论字典值是一个数组,[0]
都用于访问数组的第一个元素。如果要访问数组的所有元素,则必须遍历数组。
答案 1 :(得分:1)
您必须使用库json
将产生的搅动解析为字典,然后您可以通过遍历json结构这样遍历结果:
import json
raw_output = '{"ParsedResults": [ { "Tex...' # your api response
json_output = json.loads(raw_output)
# iterate over all lists
phone_numbers = []
for parsed_result in json_output["ParsedResults"]:
for line in parsed_result["TextOverlay"]["Lines"]:
# now add all phone numbers in "Words"
phone_numbers.extend([word["WordText"] for word in line["Words"]])
print(phone_numbers)
您可能要检查该过程中是否存在所有密钥,具体取决于您使用的API,例如
# ...
for line in parsed_result["TextOverlay"]["Lines"]:
if "Words" in line: # make sure key exists
phone_numbers.extend([word["WordText"] for word in line["Words"]])
# ...