src/main/jsonUtils.js
function (jsonObject, path, force, value) {
  if (!path) {
    return;
  }
  var newValue, obj;
  obj = jsonObject || {};
  path.trim().split('.').some(function (key, index, array) {
    if (!key && key !== 0) {
      return false;
    }
    newValue = obj[key];
    if (index == array.length - 1) {
      if (value === undefined) {
        value = {};
      }
      obj[key] = value;
      return true;
    }
    if (!newValue && newValue != 0 && index <= (array.length - 1)) {
      if (force) {
        obj[key] = {};
      } else {
        return true;
      }
    }
    obj = obj[key];
  });

  return jsonObject;
}
function (jsonObject, path, force, value) {
  if (!path) {
    return;
  }
  var newValue, obj;
  obj = jsonObject || {};
  path.trim().split('.').some(function (key, index, array) {
    if (!key && key !== 0) {
      return false;
    }
    newValue = obj[key];
    if (index == array.length - 1) {
      if (value === undefined) {
        value = {};
      }
      obj[key] = value;
      return true;
    }
    if (!newValue && newValue != 0 && index <= (array.length - 1)) {
      if (force) {
        obj[key] = {};
      } else {
        return true;
      }
    }
    obj = obj[key];
  });

  return jsonObject;
}
function ( jsonObject , path , force , value ) { if ( ! path ) { return ; } var newValue , obj ; obj = jsonObject || { } ; path . trim ( ) . split ( '.' ) . some ( function ( key , index , array ) { if ( ! key && key !== 0 ) { return false ; } newValue = obj [ key ] ; if ( index == array . length - 1 ) { if ( value === undefined ) { value = { } ; } obj [ key ] = value ; return true ; } if ( ! newValue && newValue != 0 && index <= ( array . length - 1 ) ) { if ( force ) { obj [ key ] = { } ; } else { return true ; } } obj = obj [ key ] ; } ) ; return jsonObject ; }
Sets the value in the JSON object or create the path.

@method setValue
@private
Sets the value in the JSON object or create the path .