You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何处理bytes类型JSON数据,提取目标字段并获取最大概率值?

处理bytes类型JSON数据的解决方案

1. 先将bytes转换为JSON字典

你的result是bytes类型,第一步必须把它解码成字符串,再解析为Python字典,才能操作里面的字段:

import json

# 解码bytes为UTF-8字符串,再转成字典
result_dict = json.loads(result.decode('utf-8'))

2. 提取目标字段

提取Scored Probabilities_0到Scored Probabilities_9

循环0-9拼接键名,批量提取概率值:

# 列表推导式简洁实现
scored_probs = [result_dict[f"Scored Probabilities_{n}"] for n in range(10)]

# 或者用循环逐个添加
# scored_probs = []
# for n in range(10):
#     key = f"Scored Probabilities_{n}"
#     scored_probs.append(result_dict[key])

提取Scored Labels字段

直接通过键名取值:

scored_labels = result_dict["Scored Labels"]

3. 获取Scored Probabilities的最大值及对应字段

从提取出的概率列表中找最大值,同时定位对应的Scored Probabilities_n:

max_prob_value = max(scored_probs)
max_prob_index = scored_probs.index(max_prob_value)
print(f"最大值是Scored Probabilities_{max_prob_index}对应的{max_prob_value}")

4. 关于max(result)得到125的原因及修正

  • 原因:bytes类型本质是字节序列,max(result)计算的是字节序列中ASCII码值最大的字节。125对应的ASCII字符是},而JSON数据的结尾通常是},所以你得到的125是这个字符的ASCII码,和JSON里的概率数值完全无关。
  • 正确做法:必须先将bytes转换为JSON字典(步骤1),提取出概率数值列表后,再用max()计算最大值(步骤3)。

内容的提问来源于stack exchange,提问作者Thoại Zeus Trần

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 09:20:24