将对象序列化json字符串,整个结果都是字符串,有啥类型区分?
反序列化的时候根据需要再转换类型呗
我序列化后拿到json,验签使用
你用什么方式序列化的?
我用 System.Runtime.Serialization.Json 名字空间下的类进行 json 序列化,并没有把 decimal 转换为字符串
我试下这个
System.Text.Json 没有这个问题
decimal z = 1m / 3m;
var json = System.Text.Json.JsonSerializer.Serialize(new { z });
Console.WriteLine(json);
// output: {"z":0.3333333333333333333333333333}
我的这个小数点后面,只会是0 ,换成其它1-9任意数字,都不会自动转换。只有零的情况下不行
我项目太老了,好像使用不了这个
Newtonsoft.Json 没有这个问题吧,你传的两张图片是一样的,序列化后的字符串是什么样的图片没传啊?
改了,再看下
@大哥写代码: 是不是加了全局的序列化设置,还是程序包低版本的问题,版本号是多少
@shangsharon:
@大哥写代码: 以前老版本应该就是这么序列化的吧,看看能不能升级到高一点的版本
@shangsharon: 整个系统都是低版本的,一换就错了
以前,没有decimal这个类型,你把它转成double或者float,然后再转json就可以了。
要么,做个新类,把旧类的数据转成新类的,然后转json。
要么,就直接把旧类的decimal改成double然后试一下。