json-promise

Promise based JSON parser. Handles invalid JSON data gracefully.

Usage no npm install needed!

<script type="module">
  import jsonPromise from 'https://cdn.skypack.dev/json-promise';
</script>

README

Build Status Coverage Status

Introduction

Parse and stringify JSON data using promise to gracefully handle success and failures if the data is invalid. See the examples below for usage instructions. This module use bluebird for Promise/A+ support.

Installation

npm install json-promise

Usage Instructions

Parsing JSON data

var json = require('json-promise');
var str = [
    '{"menu":{"id":"file","value":"File","popup":' 
    ,'{"menuitem":[{"value":"New","onclick":"CreateNewDoc()"},' 
    ,'{"value":"Open","onclick":"OpenDoc()"},{"value":"Close",' 
    ,'"onclick":"CloseDoc()"}]}}}'
].join('');

json.parse(str)
    .then(function onParse(obj) {
        // do something with the data object
    })
    .catch(function onParseError(e) {
        // the data is corrupted!
    });

Stringify JSON data

var json = require('json-promise');
var obj = {
  "menu": {
    "id": "file",
    "value": "File",
    "popup": {
      "menuitem": [
        {
          "value": "New",
          "onclick": "CreateNewDoc()"
        },
        {
          "value": "Open",
          "onclick": "OpenDoc()"
        },
        {
          "value": "Close",
          "onclick": "CloseDoc()"
        }
      ]
    }
  }
};

json.stringify(obj)
    .then(function onStringify(obj) {
        // do something with the string
    })
    .catch(function onStringifyError(e) {
        // the data is corrupted!
    });

Testing

npm test