python字符串转json,python转换string
工作中遇到的问题困扰了我一整天,这里简单说一下。
当我将业务数据打包成一个dict返回到前台时,发现数据中所有类型的int值都丢失了,但在调试时是存在的。支付我的代码。
一开始我一直怀疑是to_dict()方法导致了int类型值的丢失,但并不是通过源代码。请附上to_dict源代码的说明。
源代码没有提到类型转换的问题,to_dict的子方法,standardize _ mapping(),也没有涉及到类型的问题,所以我排除了to_dict的问题。
所以我换了个角度,是在某个地方过滤掉了,还是前端收到就过滤掉了?首先排除了前端的问题,因为其他接口都可以接收,所以我以为可能是转换json的问题。然后我查了代码。
重点来了!!!
由于返回的格式需要转换成json字符串,所以我包装了一个注释@jsonp,并附上了主要代码。
图像中突出显示的json_serializable方法如下
json_serializable方法中使用了注释@ singledDispatch,这是functools模块的内置函数。这个函数给出一个解释,并附上源代码解释。
他有一段话大概意思是这样的:
将传入的函数转换为泛型函数,泛型函数可以有不同的
或属性行为,这取决于第一个参数的类型。
然后看参数。我每次传入的第一个参数都是str类型,所以当我最后回到前端包装器的时候,int类型已经没有了。
我给出的最快最有效的解决方案是,输入参数是把int类型的值转换成str,有效且容易理解。
我踩的是最近的坑,所以在使用@ singleddispatch注释的时候,一定要注意字符类型的转换。
——3—————end ——333——3———
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。