java - 有没有办法告诉 JSON 一个数字是 Long 而不是 Integer?
问题描述
我有一个名为“扇区”的表,它的 ID 是 Long 而不是 Integer。当我从邮递员那里发送一个请求时,我说我想要某个表中的实体,其中“anotherEntity.idSector = 1”它会给我一个错误。
经过几次尝试/错误后,我才发现这个“1”是 Postman 的整数,所以当它到达 Java 时,它会给我一个错误,因为需要一个 Long 值。
那么,有没有办法告诉 JSON 该值是一个 Long 数字?如果它是双精度数,我会将“1”替换为“1.0”并且可以,但是使用长数字?
提前致谢!
解决方案
不,你不能“告诉 JSON”任何东西,它只是一种编码格式。像 JavaScript 一样,JSON 没有整数、没有长整数、没有浮点数和双精度数。
它有数字:https ://datatracker.ietf.org/doc/html/rfc8259#section-6
如果您需要比 JSON 的数字类型提供的更高的整数精度,您通常会将数字编码为字符串。对于像记录 ID 这样偶然是数字而不是语义数字的字段,这通常是一个很好的策略(即,您永远不会对它们执行数字运算,例如加法或除法)。
推荐阅读
- hadoop - 安装 hadoop 3.1.2 警告:HADOOP_PREFIX 已被 HADOOP_HOME 取代。使用 HADOOP_PREFIX 的值
- java - 是否可以在 java 流中使用 when() 初始化模拟
- python - Python strptime 无法解析日期
- ios - 是否可以调整金属视图(MTKView())的大小,使其高度延伸整个屏幕但保持与宽度的比例?
- angular7 - 如何隐藏内页的离子标签?
- java - Java:在 ScheduledExecutorService 上同步两个计划线程
- iot - 技术实现 OPC UA
- ios - 在 iOS 上设置安装引荐来源网址和收入跟踪
- python - 将指定目录中的文件导入到单独的 pandas 数据帧中(并相应地命名它们)
- sapui5 - 如何水平对齐 headerContent 中的内容?