Verwenden von Play Framework.Wie vermeidet man das Runden eines langen Werts auf der Client-Seite?
-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));
}
Die Response
Einheit ist:
public class Response {
private Long uuid;
private Map<TableField, String> map = new HashMap<>();
...constructors, getters and setters...
}
ich die Antwort mit POSTMAN überprüfen. Auf der Registerkarte "Raw" Ich habe:
{"uuid":3942015886343226874,"map":{"Work":"Contract","locale":"Mogilev"}}
Sie auf der Registerkarte "Pretty":
{
"uuid": 3942015886343227000,
"map": {
"Work": "Contract",
"locale": "Mogilev"
}
}
Warum ist die UUID abgerundet wurde?
Max. Nummer in js ist +/- 9007199254740992. JS erlaubt nur 16 signifikante Stellen in einer Zahl. – barbarian
Die einzige Lösung, die ich sehe, ist Uuid als String in Java zu verwenden, so dass es wie eine Zeichenfolge angezeigt und betrieben wird, so dass der Wert nicht geändert wird. Aber irgendwie kann JS in anderen Funktionen wie eine Zahl positionieren, also wird es runden ... – barbarian