Skip to content Skip to sidebar Skip to footer

How To Parse A JSON Data (type : BigInt) In TypeScript

I have a simple request but It seems to be harder than expected. I have to parse a bigint from a JSON stream. The value is 990000000069396215. In my code, this value is declared in

Solution 1:

I guess you need to do something like this,

export interface Address {
id_address: string;
}

Then somewhere in your code where you implement this interface you need to do,

const value = BigInt(id_address);  // I am guessing that inside your class you have spread your props and you can access id_address. So inside value you will get your Big integer value.

Reference for BigInt.


Solution 2:

If you want to make it reliable and clean then always stringify/parse bigint values as objects:

function replacer( key: string, value: any ): any {
    if ( typeof value === 'bigint' ) {
        return { '__bigintval__': value.toString() };
    }
    return value;
}

function reviver( key: string, value: any ): any {
    if ( value != null && typeof value === 'object' && '__bigintval__' in value ) {
        return BigInt( value[ '__bigintval__' ] );
    }
    return value;
}

JSON.stringify( obj, replacer );

JSON.parse( str, reviver );

Post a Comment for "How To Parse A JSON Data (type : BigInt) In TypeScript"