# Plugins

There is a standard Jsonic syntax, which you should probably just use if all you want is easy-going JSON.

But Jsonic itself is meant to be an extensible parser for JSON-like languages, so you feel the need for a little more power, you've come to the right place!

A small set of plugins are built into the standard package. You load them separately (this keeps the core small for web app use cases).

There is a wider set of standard plugins under the @jsonic organisation (opens new window).

These plugins also serve as examples of how to write your own extensions to JSON. Instead of starting from scratch, copy and improve!

# Built-in plugins

# native

details

Parse native JavaScript values such as undefined, NaN, Infinity, literal regular expressions, and ISO-formatted dates.

let Native = require('jsonic/plugin/native') // or import
let extra = Jsonic.make().use(Native)
extra('a:NaN') // === {"a": NaN}

# csv

details

Parse CSV data that can contain embedded JSON, and also supports comments and other Jsonic sugar.

let Csv = require('jsonic/plugin/csv') // or import
let extra = Jsonic.make().use(Csv)

// === [{"a":1, "b":2}, {"a":3,"b":4}]
extra(`
a,b      // first line is headers
1,2
3,4
`) 

# hoover

# json

# dynamic

# multifile

# legacy-stringify

# Standard plugins

# Community plugins