作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
使用 Play 框架。
Controller
@BodyParser.Of(BodyParser.Json.class)
public static Result getResponseJson(Long id){
List<DataField> entities = new Model.Finder<>(Long.class, DataField.class)
.where("response_id = " + id).findList();
Response response = new Response(entities, id);
return ok(toJson(response));
}
Response
实体是:
public class Response {
private Long uuid;
private Map<TableField, String> map = new HashMap<>();
...constructors, getters and setters...
}
我用 POSTMAN 检查响应。在“原始”选项卡上,我得到了:
{"uuid":3942015886343226874,"map":{"Work":"Contract","locale":"Mogilev"}}
在“漂亮”选项卡上:
{
"uuid": 3942015886343227000,
"map": {
"Work": "Contract",
"locale": "Mogilev"
}
}
为什么uuid会四舍五入?
最佳答案
这与 Playframework 无关,这是一个浏览器问题。在您的浏览器中打开开发人员控制台并尝试这个 -
var c = 3942015886343226874;
console.log(c);
这将打印 - 3942015886343227000
因为 JavaScript 中的数量限制。
如果是 UUID,最好使用 String。
关于javascript - 如何避免在客户端舍入长值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31462595/
我是一名优秀的程序员,十分优秀!