I've posted a sample here - http://jsfiddle.net/bizl/tSVHu/
This simple array's long values get changed - particularly numbers ending 9 or 7 get chnaged to 8 (so its not quite rounding). I can't see why
 var a = [
          { "id": 13532811000001109, "name": "Dabigatran etexilate 110mg capsules",  "Group": "High Risk", "VPID": 13532811000001109   }, 
          { "id": 13532911000001104, "name": "Dabigatran etexilate 75mg capsules",  "Group": "High Risk", "VPID": 13532911000001104   },
          { "id": 13532811000001109, "name": "Pradaxa 110mg capsules (Boehringer Ingelheim Ltd)",  "Group": "High Risk", "VPID": 13532811000001109, "APID": 13505411000001109  },
          { "id": 13532911000001104, "name": "Pradaxa 75mg capsules (Boehringer Ingelheim Ltd)",  "Group": "High Risk", "VPID": 13532911000001104, "APID": 13504711000001102  }
          ];
 
    