Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/hua1995116/easy-json-parse

Parse your json safely and easily.
https://github.com/hua1995116/easy-json-parse

json parse

Last synced: 3 months ago
JSON representation

Parse your json safely and easily.

Awesome Lists containing this project

README

        

# easy-json-parse







Are you still worried about the long code with `try {} catch {}`? like this:

```javascript
const jsonString = 'easy';
let json;

try {
json = JSON.parse(jsonString);
} catch (e) {
json = {};
}

console.log(json.xxx);
```
or
```javascript
const jsonString = null;
let json;

try {
json = JSON.parse(jsonString) || {};
} catch (e) {
json = {};
}

console.log(json.xxx);
```

Now, no matter whether it is long code or initialization, you don't need to worry.

use `easy-json-parse` will more easy and safe for `try{} catch{}`.

## Get started

```bash
npm i easy-json-parse
```

case: initialValue

```javascript
import easyParse from 'easy-json-parse';
const jsonString = 'easy';
const [error, json] = easyParse(jsonString, {initialValue: {}});

console.log(json.xxx); // If json is not exist, will return {} safely.
```

case: normal

```javascript
import easyParse from 'easy-json-parse';
const jsonString = '{"easy": "easy"}';
const [error, json] = easyParse(jsonString);

console.log(json.easy); // easy
```

case: don't need error

```javascript
import easyParse from 'easy-json-parse';
const jsonString = '{"easy": "easy"}';
const [, json] = easyParse(jsonString);

console.log(json.easy); // easy
```

## Syntax

### Parameters

**text**

the string to parse as JSON

**options**

`options.reviver(optional)`

- if a function, prescribes how the value originally produced by parsing is transformed, before being returned, more info about this param in [here](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse#Example.3A_Using_the_reviver_parameter)

`options.initialValue(optional)`
- init value for json.

### Returns

Array [error, value]

# License

MIT

Copyright (c) 2019 蓝色的秋风