Estoy tratando de leer campos BigInt de un archivo json como este:
const fs = require("fs"); function reviver(key, value) { return BigInt(value); } let rawdata = fs.readFileSync("input.json"); let numbers = JSON.parse(rawdata, reviver); console.log(numbers);Mi archivo json de entrada se ve así:
[ {"number": 19819, "divisor": 34}, {"number": 888, "divisor": 19}, {"number": 55555, "divisor": 126} ]Aquí está el error que me sale:
$ node div.js /home/oren/div.js:4 return BigInt(value); ^ SyntaxError: Cannot convert [object Object] to a BigInt at BigInt (<anonymous>) at Array.reviver (/home/oren/div.js:4:10) at JSON.parse (<anonymous>) at Object.<anonymous> (/home/oren/div.js:8:20) at Module._compile (node:internal/modules/cjs/loader:1105:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10) at Module.load (node:internal/modules/cjs/loader:981:32) at Function.Module._load (node:internal/modules/cjs/loader:822:12) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12) at node:internal/main/run_main_module:17:47¿Qué estoy haciendo mal?
tu valor es objeto
function reviver(key, value) { return typeof value === 'number' ? BigInt(value) : value; }