tar*_*nov 19 int64 bigint node.js long-integer
当我解析这一小块JSON时
{ "value" : 9223372036854775807 }
Run Code Online (Sandbox Code Playgroud)
这就是我得到的
{ hello: 9223372036854776000 }
Run Code Online (Sandbox Code Playgroud)
有没有办法正确解析它?
And*_*rov 26
没有内置的JSON.parse.您需要手动解析它并将值视为字符串(如果您想使用bignumber.js进行算术运算)您可以使用Douglas Crockford JSON.js库作为解析器的基础.
编辑:我为你创建了一个包 :)
var JSONbig = require('json-bigint');
var json = '{ "value" : 9223372036854775807, "v2": 123 }';
console.log('Input:', json);
console.log('');
console.log('node.js bult-in JSON:')
var r = JSON.parse(json);
console.log('JSON.parse(input).value : ', r.value.toString());
console.log('JSON.stringify(JSON.parse(input)):', JSON.stringify(r));
console.log('\n\nbig number JSON:');
var r1 = JSONbig.parse(json);
console.log('JSON.parse(input).value : ', r1.value.toString());
console.log('JSON.stringify(JSON.parse(input)):', JSONbig.stringify(r1));
Run Code Online (Sandbox Code Playgroud)
输出:
Input: { "value" : 9223372036854775807, "v2": 123 }
node.js bult-in JSON:
JSON.parse(input).value : 9223372036854776000
JSON.stringify(JSON.parse(input)): {"value":9223372036854776000,"v2":123}
big number JSON:
JSON.parse(input).value : 9223372036854775807
JSON.stringify(JSON.parse(input)): {"value":9223372036854775807,"v2":123}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
13066 次 |
最近记录: |