Sample code for 30+ languages & platforms
Java

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 Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.JsonObject;

public class ChilkatExample {

    public static void main(String[] args) {
        JsonObject json = new JsonObject();

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

        json.setEmitCompact(false);
        System.out.println(json.emit());

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

        String 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?
        int val = json.intOf(path);
        System.out.println("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..
        boolean wasFound = json.getLastMethodSuccess();
        System.out.println("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);
            System.out.println("wasFound = " + wasFound);
            if (wasFound) {
                System.out.println("The value was present and is 0.");
            } else {
                System.out.println("no member is present at test.notHere");
            }
        } else {
            System.out.println("val = " + val);
        }

        // Alternatively, you could check to see if the member exists beforehand..
        if (json.hasMember(path)) {
            System.out.println("val = " + json.intOf(path));
        } else {
            System.out.println("no member at " + path);
        }
    }
}