json键值转数字并排序 ,json内容如下{"108.81": 0.1, "103.22": 0.2, "103.16": 0.1, "102.83": 0.3, "99.99": 0.4, "99.88": 0.2, "99.73": 0.1, "99.35": 0.2, "96.76": 0.7, "96.83": 0.1, "97.12": 0.2, "96.93": 0.1, "96.2": 0.1, "95.82": 0.2, "96.02": 0.2, "96.04": 0.1, "94.92": 0.2, "94.98": 0.2, "95.02": 0.2}
时间: 2023-07-21 14:59:17 浏览: 37
你可以按照如下步骤将 JSON 键值转换为数字并排序:
1. 将 JSON 解析为字典对象。
2. 使用字典的 items() 方法获取键值对列表。
3. 遍历键值对列表,将键转换为浮点数类型。
4. 使用 sorted() 函数根据键值对中的键进行排序。
5. 可选:如果需要按照降序排序,可以使用 reverse=True 参数。
6. 可选:如果需要将排序结果转换为 JSON 格式,可以使用 json.dumps() 函数。
以下是示例代码:
```python
import json
# JSON 字符串
json_str = '{"108.81": 0.1, "103.22": 0.2, "103.16": 0.1, "102.83": 0.3, "99.99": 0.4, "99.88": 0.2, "99.73": 0.1, "99.35": 0.2, "96.76": 0.7, "96.83": 0.1, "97.12": 0.2, "96.93": 0.1, "96.2": 0.1, "95.82": 0.2, "96.02": 0.2, "96.04": 0.1, "94.92": 0.2, "94.98": 0.2, "95.02": 0.2}'
# 解析 JSON
data = json.loads(json_str)
# 将键值对列表转换为浮点数类型并排序
sorted_data = sorted([(float(k), v) for k, v in data.items()])
# 打印排序结果
for key, value in sorted_data:
print(key, value)
# 可选:将排序结果转换为 JSON 格式
sorted_json = json.dumps({str(key): value for key, value in sorted_data})
print(sorted_json)
```
运行上述代码,将会输出按照键值排序的结果:
```
94.92 0.2
94.98 0.2
95.02 0.2
95.82 0.2
96.02 0.2
96.04 0.1
96.2 0.1
96.76 0.7
96.83 0.1
96.93 0.1
97.12 0.2
99.35 0.2
99.73 0.1
99.88 0.2
99.99 0.4
102.83 0.3
103.16 0.1
103.22 0.2
108.81 0.1
{"94.92": 0.2, "94.98": 0.2, "95.02": 0.2, "95.82": 0.2, "96.02": 0.2, "96.04": 0.1, "96.2": 0.1, "96.76": 0.7, "96.83": 0.1, "96.93": 0.1, "97.12": 0.2, "99.35": 0.2, "99.73": 0.1, "99.88": 0.2, "99.99": 0.4, "102.83": 0.3, "103.16": 0.1, "103.22": 0.2, "108.81": 0.1}
```
希望对你有帮助!如果你还有其他问题,请随时提问。