如何解析SMMRY API返回的JSON输出?
如何解析SMMRY API返回的JSON输出?
首先,咱们先把你给出的API返回JSON完整展示出来,方便对照:
{ "sm_api_character_count": "1284", "sm_api_content_reduced": "64%", "sm_api_title": "‘Schoolhouse Rock\\'", "sm_api_content": " 音乐家鲍勃·多罗(Bob Dorough)享年94岁,他最为人熟知的身份是ABC教育系列短片《Schoolhouse Rock!》的作曲家及表演者,周一在宾夕法尼亚州贝塞尔山的家中自然离世,其子克里斯(Chris)透露。麦考尔(Mc Call)曾委托多罗先生将乘法表谱成音乐,由此诞生了《Three Is a Magic Number》以及《Multiplication Rock》专辑……" }
接下来逐个拆解每个字段的含义:
sm_api_character_count:返回的是原始未精简内容的总字符数,注意这里是字符串类型(比如示例里的"1284"),如果需要做数值计算,记得转成整数。sm_api_content_reduced:内容被精简的比例,示例里的"64%"意味着原内容被压缩了64%,你拿到的是剩下36%的核心信息。sm_api_title:API从原内容中提取的标题,注意JSON里的\\'是转义字符,实际使用时可以直接取这个字段的值,转义会自动处理(最终得到‘Schoolhouse Rock')。sm_api_content:这是API返回的核心精简内容,包含了原内容的关键信息,比如示例里就涵盖了Bob Dorough离世的消息、他的核心身份,以及《Schoolhouse Rock!》相关的起源故事。
实用解析示例(以Python为例)
如果用Python处理这个返回结果,你可以用内置的json模块快速解析并提取字段:
import json # 假设这是你从API拿到的响应字符串 api_response = '''{ "sm_api_character_count": "1284", "sm_api_content_reduced": "64%", "sm_api_title": "‘Schoolhouse Rock\\'", "sm_api_content": " 音乐家鲍勃·多罗(Bob Dorough)享年94岁,他最为人熟知的身份是ABC教育系列短片《Schoolhouse Rock!》的作曲家及表演者,周一在宾夕法尼亚州贝塞尔山的家中自然离世,其子克里斯(Chris)透露。麦考尔(Mc Call)曾委托多罗先生将乘法表谱成音乐,由此诞生了《Three Is a Magic Number》以及《Multiplication Rock》专辑……" }''' # 解析JSON字符串为字典 parsed_data = json.loads(api_response) # 提取并处理各个字段 original_char_count = int(parsed_data['sm_api_character_count']) content_reduction = parsed_data['sm_api_content_reduced'] article_title = parsed_data['sm_api_title'] summary = parsed_data['sm_api_content'].strip() # 去掉内容开头的空格 # 输出结果 print(f"原始内容字符数:{original_char_count}") print(f"内容压缩比例:{content_reduction}") print(f"文章标题:{article_title}") print(f"精简后的核心内容:\n{summary}")
其他编程语言(比如JavaScript、Java)的解析逻辑类似:先把JSON字符串转成对应的数据结构(对象/字典),然后通过键名直接访问对应的值即可。
内容的提问来源于stack exchange,提问作者Tim Krash
相关产品推荐
相关产品推荐

