例子:
`
{
"total": 12,"rows": [ { "createBy": null, "createTime": "2023-10-10 11:33:15", "updateBy": null, "updateTime": "2023-10-10 11:33:14", "remark": null, "id": 9, "liquidName": "生活区2#MBR池液位", "liquidBoxno": "xxx", "liquidMonitorId": 273003152665484863, "liquidWarningValue": "0" }, { "createBy": null, "createTime": "2023-10-10 11:32:03", "updateBy": null, "updateTime": "2023-10-10 11:32:03", "remark": null, "id": 8, "liquidName": "生活区1#MBR池液位", "liquidBoxno": "xxx", "liquidMonitorId": 273003152665484865, "liquidWarningValue": "0" }],"code": 200,"msg": "查询成功"
}
`
看图
这也没超出什么位数吧 看了下long的最大是19位 这个是18位 再者说 这json解析没有位数限制吧 不懂
long的长度
java 的 Long
没超,但是 js 的 Number
超了
打开浏览器控制台,查看 Number.MAX_SAFE_INTEGER
我这里 chrome 返回的是 9007199254740991,已经超了两位了
所以,需要返回给浏览器的 json 里的 long,必须用字符串不能用数字
在js中number类型有个最大安全值,为9007199254740992,是2的53次方,可以使用Number.MAX_SAFE_INTEGER获取,如果超过这个值,会出现不精确的问题
后台返回的可能没问题,但是在前台展示,走前台的逻辑,可能就会改变
看起来你的问题涉及到了 JSON 数据的格式化,以及你在格式化前后发现数据有不一致。但是,你提供的 JSON 示例并没有显示出任何明显的问题。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于 ECMAScript(欧洲计算机协会制定的js标准)的一个子集,采用完全独立于语言的文本格式来存储和表示数据。
对于你提供的 JSON 数据,它看起来是完全有效的,并且没有违反 JSON 的任何规则。这个 JSON 数据描述了一个对象,该对象有一些属性,其中包括一个名为 "total" 的整数,一个名为 "rows" 的数组,数组中包含两个对象,每个对象都有一些属性(如 "id", "liquidName", "liquidBoxno",等等),以及一些其他属性如 "code" 和 "msg"。
JSON 数据中对象的属性值可以包含各种数据类型,包括数字、字符串、布尔值、null、数组和另一个 JSON 对象。在你的示例中,"total" 是数字,"rows" 是数组,其余的属性都是字符串或 null。
对于 JSON 格式化前后不一致的问题,这可能是由于格式化工具或者编码和解码的库的差异导致的。如果你使用了不同的工具或库来格式化或解析 JSON 数据,可能会出现一些不一致。因此,建议使用固定和可靠的库或工具来处理 JSON 数据。
至于你提到的 long 的长度问题,这似乎与 JSON 数据无关。JSON 数据中没有长度的概念,只有数据的类型和值。如果你在处理或解析 JSON 数据时遇到与 long 类型有关的问题,那可能是因为你使用的编程语言或库在处理这些数据时有特定的限制或规定。
我们可以看到格式化就是通过格式字符串得到特定格式: format!("{}", foo) -> "3735928559" format!("0x{:X}", foo) -> "0xDEADBEEF" format!("0o{:o}", foo) -> "0o33653337357" 根据使用的参数类型,同样的变量(foo)能够格式化成不同的形式:X, o 和未指定形式。 这个格式化的功能是通过 t
本文向大家介绍JSON格式化输出,包括了JSON格式化输出的使用技巧和注意事项,需要的朋友参考一下 今天有个需求是对输出的JSON进行格式化 首先想到的就是jsBeautifier之类的小插件 搜索了一番看到有一位朋友回答JSON.stringify可以输出格式化的JSON字符串 唔,不错 PS:关于json操作,这里再为大家推荐几款比较实用的json在线工具供大家参考使用: 在线JSON代码检验
格式化 格式化是一件主观的事。如同这里的许多规则一样,这里并没有一定/立刻需要遵守的规则。可以在这里完成格式的自动化。 大小写一致 JS 是弱类型语言,合理的采用大小写可以告诉你关于变量/函数等的许多消息。 这些规则是主观定义的,团队可以根据喜欢进行选择。重点在于无论选择何种风格,都需要注意保持一致性。 反例: var DAYS_IN_WEEK = 7; var daysInMonth = 30;
Formatting 格式化 Formatting issues are the most contentious but the least consequential. People can adapt to different formatting styles but it’s better if they don’t have to, and less time is devoted t
格式化 代码格式化的规范并不重要,只要它们实用。它的定义形式没有先天的好与坏,几乎每个人都有自己的偏好。然而,对于一贯地采用同一格式化规则的总会增加可读性。已经熟悉某种特定风格的读者不必非要去掌握另一套当地习惯,或译解另一个角落里的语言语法。 这对Scala来说也特别重要,因为它的语法高度的重叠。一个例子是方法调用:方法调用可以用“.”后边跟圆括号,或不使用“.”,后边用空格加不带圆括号(针对空元
格式化是主观的。 就像其它规则一样, 没有必须让你遵守的硬性规则。 重点是不要因为格式去争论, 这里有大量的工具来自动格式化, 使用其中的一个即可! 因为做为工程师去争论格式化就是在浪费时间和金钱。 针对自动格式化工具不能涵盖的问题(缩进、 制表符还是空格、 双引号还是单引号等), 这里有一些指南。 使用一致的大小写 JavaScript 是无类型的, 所以大小写告诉你关于你的变量、 函数等的很多