Skip to content

valcas/json-config

Repository files navigation

json-config

Json Config Parser

Quickly and easily parse Json config values

example...

    var testJSON = {
      invoice_no:5,
      customer:{
          firstname:'Joe',
          lastname:'Bloggs'
      },
      items: [
          {code:1202, type:'shoes', colours:[
              {colour:'red', stock:2},
              {colour:'blue', stock:3},
              {colour:'green', stock:4},
          ]},
          {code:32332, type:'shirt'},
          {code:1203, type:'shoes'},
          {code:3923, type:'socks'},
      ]
  };
  
  // Create the config parser
  var cfg = new JsonConfig(testJSON);

  var value = cfg.getValue('customer/firstname', 'Jimmy');                  // 'Joe'
  value = cfg.getValue('customer/invalid', 'Jimmy');                        // 'Jimmy'
  value = cfg.getValue('', 'Jimmy');                                        // 'Jimmy'
  value = cfg.getValue(null, 'Jimmy');                                      // 'Jimmy'
  value = cfg.getValue('customer', 'Jimmy');                                // customer object
  value = cfg.getValue('items/code[type=shoes]', 'none found');             // 2 element array
  value = cfg.getValue('items/code[type=shoes]/colours/[colour=red]', 5);   // 1 element array

  let indexes = cfg.getIndex(testJSON.items, 'items/code[type=shoes]');     // Returns an array of results
  // [{index:0, node:?}, {index:2, node:?}]

Setting a value

cfg.setValue('customer/address/streetname', '11 Bleeker Street');
value = cfg.getValue('customer/address/streetname', '11 Bleeker Street');   // '11 Bleeker Street'

About

Json Config Parser

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published