precision lost when do json.decode a very large integer number

there is a number in the network json response from server, eg. 84580152933128449

i use corona internal json.decode to get the number and print it, it shows : 8.4580152933128e+16

and if i use string.format to print it, it shows: 84580152933128448

it means there is a precision lost here, how can I handle this case in corona lua?

Is there a way to get the server to treat it as a string?

The server is the 3rd. party’s one, so we can not modify it. 

And today, I’ve tried another json implementation, and it handled my case well:

http://regex.info/code/JSON.lua

Thank god.

Is there a way to get the server to treat it as a string?

The server is the 3rd. party’s one, so we can not modify it. 

And today, I’ve tried another json implementation, and it handled my case well:

http://regex.info/code/JSON.lua

Thank god.