JSON

The JSON object provides the c++ versions of the methods offered by the JSON object in javascript. V8 exposes these methods via the v8::JSON object.

  • Nan::JSON.Parse
  • Nan::JSON.Stringify

Refer to the V8 JSON object in the V8 documentation for more information about these methods and their arguments.

Nan::JSON.Parse

A simple wrapper around v8::JSON::Parse.

Definition:

Nan::MaybeLocal<v8::Value> Nan::JSON::Parse(v8::Local<v8::String> json_string);

Use JSON.Parse(json_string) to parse a string into a v8::Value.

Example:

v8::Local<v8::String> json_string = Nan::New("{ \"JSON\": \"object\" }").ToLocalChecked();

Nan::JSON NanJSON;
Nan::MaybeLocal<v8::Value> result = NanJSON.Parse(json_string);
if (!result.IsEmpty()) {
  v8::Local<v8::Value> val = result.ToLocalChecked();
}

Nan::JSON.Stringify

A simple wrapper around v8::JSON::Stringify.

Definition:

Nan::MaybeLocal<v8::String> Nan::JSON::Stringify(v8::Local<v8::Object> json_object, v8::Local<v8::String> gap = v8::Local<v8::String>());

Use JSON.Stringify(value) to stringify a v8::Object.

Example:

// using `v8::Local<v8::Value> val` from the `JSON::Parse` example
v8::Local<v8::Object> obj = Nan::To<v8::Object>(val).ToLocalChecked();

Nan::JSON NanJSON;
Nan::MaybeLocal<v8::String> result = NanJSON.Stringify(obj);
if (!result.IsEmpty()) {
  v8::Local<v8::String> stringified = result.ToLocalChecked();
}