有没有办法告诉 JSON 一个数字是 Long 而不是 Integer?
Is there a way to tell JSON that a number is Long instead of Integer?
我有一个名为“扇区”的 table,它的 ID 是 Long 而不是 Integer。当我从邮递员那里发送一个请求时,我说我想要来自某些 table 的实体,其中“anotherEntity.idSector = 1”,它会给我一个错误。
经过几次 try/error 我才发现这个“1”是 Postman 的整数,所以当它到达 Java 时它给我一个错误,因为需要一个 Long 值。
那么,有没有办法告诉 JSON 该值是一个 Long 数字?如果它是双精度数,我会将“1”替换为“1.0”,这样就可以了,但是长数字?
提前致谢!
不,你不能“告诉JSON”任何东西,它只是一种编码格式。与 JavaScript 一样,JSON 没有整数、长整数、浮点数和双精度数。
它有数字:https://datatracker.ietf.org/doc/html/rfc8259#section-6
如果您需要比 JSON 的数字类型提供的更高的整数精度,您通常会将数字编码为字符串。对于像记录 ID 这样 顺便说一下 数字而不是语义数字的字段,这通常是一个很好的策略(即,您永远不会对它们执行加法或除法等数字操作)。
我有一个名为“扇区”的 table,它的 ID 是 Long 而不是 Integer。当我从邮递员那里发送一个请求时,我说我想要来自某些 table 的实体,其中“anotherEntity.idSector = 1”,它会给我一个错误。
经过几次 try/error 我才发现这个“1”是 Postman 的整数,所以当它到达 Java 时它给我一个错误,因为需要一个 Long 值。
那么,有没有办法告诉 JSON 该值是一个 Long 数字?如果它是双精度数,我会将“1”替换为“1.0”,这样就可以了,但是长数字?
提前致谢!
不,你不能“告诉JSON”任何东西,它只是一种编码格式。与 JavaScript 一样,JSON 没有整数、长整数、浮点数和双精度数。
它有数字:https://datatracker.ietf.org/doc/html/rfc8259#section-6
如果您需要比 JSON 的数字类型提供的更高的整数精度,您通常会将数字编码为字符串。对于像记录 ID 这样 顺便说一下 数字而不是语义数字的字段,这通常是一个很好的策略(即,您永远不会对它们执行加法或除法等数字操作)。