Javascript entier long

J'en ai vu un de la plus étrange des choses en javascript.
Le côté serveur (printemps):

   @RequestMapping(value = "/foo", method = RequestMethod.GET)
   @ResponseBody
   public Long foo() {
      return 793548328091516928L;
   }

Je retourner une seule valeur de type long et de:

$.get('/foo').done(function(data){
    console.log(data);
});

Il représente l'entier long comme "793548328091516900" remplacement (arrondi en effet) les deux derniers chiffres avec des 0. Lorsque je fais cette requête GET à partir de n'importe quel barre d'adresse du navigateur, le nombre représenté correctement; donc c'est un js problème, à mon avis.

De retourner une chaîne de caractères au lieu de long à partir du serveur et de le manipuler avec:

var x = new Number(data).toFixed();

évidemment une solution. Mais je ne suis pas la chance que j'ai de gérer un complexe POJO (converti en JSON) dont certains champs (certains sont imbriquées) sont tapés avec java.lang.Long type. Si j'essaie de lancer ce POJO à un autre objet, ne pas avoir des champs tapé Long, c'est évidemment lourd.

Est qu'il ya une solution à cet obstacle de façon plus claire?

InformationsquelleAutor px5x2 | 2013-06-26