使用Play Framework。
控制器
@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检查响应。在标签&#34; Raw&#34;我得到了:
{"uuid":3942015886343226874,"map":{"Work":"Contract","locale":"Mogilev"}}
在选项卡上&#34;漂亮&#34;:
{
"uuid": 3942015886343227000,
"map": {
"Work": "Contract",
"locale": "Mogilev"
}
}
为什么uuid被舍入了?
答案 0 :(得分:2)
与Playframework无关,这是一个浏览器问题。在浏览器中打开开发人员控制台并尝试此操作 -
using UnityEngine;
using System.Collections;
public class MouseClick : MonoBehaviour
{
void OnMouseDown()
{
Debug.Log ("Clicked the Collider!");
}
}
这将打印 - 3942015886343227000
因为JavaScript中的数量限制。
如果是UUID,最好使用String。