# Reviver
> Revive a JSON-serialized complex number.
## Usage
```javascript
var reviver = require( '@stdlib/complex/reviver' );
```
#### reviver( key, value )
Revives a JSON-serialized `complex` number.
```javascript
var parseJSON = require( '@stdlib/utils/parse-json' );
var str = '{"type":"Complex128","re":5,"im":3}';
var z = parseJSON( str, reviver );
// returns
```
For details on the JSON serialization format, see [`Complex128`][@stdlib/complex/float64].
## Examples
```javascript
var Complex128 = require( '@stdlib/complex/float64' );
var parseJSON = require( '@stdlib/utils/parse-json' );
var reviver = require( '@stdlib/complex/reviver' );
var z = new Complex128( 5.0, 3.0 );
var str = JSON.stringify( z );
// returns '{"type":"Complex128","re":5,"im":3}'
var w = parseJSON( str, reviver );
if ( w instanceof Error ) {
throw w;
}
var bool = ( w instanceof z.constructor );
// returns true
bool = ( w.re === z.re );
// returns true
bool = ( w.im === z.im );
// returns true
```
[@stdlib/complex/float64]: https://www.npmjs.com/package/@stdlib/complex/tree/main/float64