out of range float values are not json compliant

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

再次解决

data 参数不仅可以是字典(dict)形式,也可以是列表(list)、元组(tuple)、集合(set)、数字、字符串、布尔值等基本数据类型,甚至是这些类型的组合,包括嵌套的数据结构。json.dumps() 函数能够处理多种复杂的Python数据结构,并将其转换为JSON格式的字符串。

data 是一个列表时,json.dumps() 会递归地处理列表中的每个元素。如果列表中包含了那些默认不能直接被转换成JSON格式的对象(比如自定义类的实例、超出范围的浮点数等),则通过 default 参数指定的函数(如 out_of_range_float_handler)会被调用来处理这些特殊对象。

下面是一个示例,展示了当 data 是一个包含各种数据类型,包括超出范围浮点数的列表时,如何使用 out_of_range_float_handler 来处理这个列表并将其转换为JSON字符串:

def out_of_range_float_handler(obj):
    if isinstance(obj, float) and (obj > 1.79769313486231579e+308 or obj < -1.79769313486231579e+308):
        return str(obj)
    raise TypeError

# data是一个包含各种数据类型的列表,包括一个超出范围的浮点数
data = [1, "text", True, {"key": 3.14}, [1.79769313486231579e+308, 2.718], (3,)]

# 使用自定义处理器将列表转换为JSON字符串
json_str = json.dumps(data, default=out_of_range_float_handler)
print(json_str)

这段代码会将列表中的所有元素,包括那个超出JSON标准浮点数表示范围的数值,成功转换为JSON字符串。
在这里插入图片描述

最后查看原因:

是最后的返回值中的变量没有修改

在这里插入图片描述

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-18 21:44:07       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-18 21:44:07       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-18 21:44:07       82 阅读
  4. Python语言-面向对象

    2024-06-18 21:44:07       91 阅读

热门阅读

  1. git\repo

    git\repo

    2024-06-18 21:44:07      26 阅读
  2. Kotlin 中,data class 和普通 class

    2024-06-18 21:44:07       31 阅读
  3. 嵌入式跨平台编译:vsftpd

    2024-06-18 21:44:07       28 阅读
  4. 测试testing06181

    2024-06-18 21:44:07       24 阅读
  5. Day41

    Day41

    2024-06-18 21:44:07      22 阅读
  6. 深入探讨:Spring与MyBatis中的连接池与缓存机制

    2024-06-18 21:44:07       21 阅读
  7. token无感刷新

    2024-06-18 21:44:07       26 阅读
  8. 【HarmonyOS NEXT 】鸿蒙detectBarcode (图像识码)

    2024-06-18 21:44:07       25 阅读
  9. Flink 计数器Accumulator

    2024-06-18 21:44:07       29 阅读
  10. MySQL触发器基本结构

    2024-06-18 21:44:07       28 阅读