Sample code for 30+ languages & platforms
React Native

Check if Integer Exists at JSON Path

Demonstrates how to get an integer value at a JSON path, and how to check to see if it exists.

Chilkat React Native Downloads

React Native
import { JsonObject } from '@chilkat/react-native'

function chilkatExample() {
  const json = new JsonObject();

  // First build simple JSON..
  json.updateInt('test.abc', 100);

  json.emitCompact = false;
  console.log(json.emit());

  // This is our JSON:
  // {
  //   "test": {
  //     "abc": 100,
  //   }
  // }

  const path = 'test.notHere';

  // The call to IntOf will return 0, because it's not present.
  // But how do we know if it really was present, and the value was truly 0?
  const val = json.intOf(path);
  console.log(`val = ${val}`);

  // We cannot use LastMethodSuccess because LastMethodSuccess only applies
  // to methods that:
  // - return a string
  // - return a new Chilkat object, binary bytes, or a date/time.
  // - returns a boolean status where true = success and false = failed.
  // - returns an integer where failure is defined by a return value less than zero.
  // The IntOf method fits none of these requirements, and therefore the LastMethodSuccess 
  // is not a valid indicator..
  let wasFound = json.lastMethodSuccess;
  console.log(`wasFound = ${wasFound} (not a valid indicator)`);

  // Instead, if the returned value is 0, we can double-check to see if the member was truly there..
  if (val === 0) {
    wasFound = json.hasMember(path);
    console.log(`wasFound = ${wasFound}`);
    if (wasFound) {
      console.log('The value was present and is 0.');
    } else {
      console.log('no member is present at test.notHere');
    }
  } else {
    console.log(`val = ${val}`);
  }

  // Alternatively, you could check to see if the member exists beforehand..
  if (json.hasMember(path)) {
    console.log(`val = ${json.intOf(path)}`);
  } else {
    console.log(`no member at ${path}`);
  }
}