@@ -0,0 +1,1607 @@
+package com.readlearncode.object.lesson3;%0A%0Aimport com.readlearncode.object.lesson1.ObjectExample2;%0A%0Aimport javax.json.*;%0Aimport java.io.FileNotFoundException;%0A%0A/**%0A * Source code github.com/readlearncode%0A *%0A * @author Alex Theedom www.readlearncode.com%0A * @version 1.0%0A */%0Apublic class ObjectExample5 %7B%0A%0A    public static void main(String... args) throws FileNotFoundException %7B%0A        new ObjectExample5().navigateJsonStructure(new ObjectExample2().loadJsonObject(), null);%0A    %7D%0A%0A    public  void navigateJsonStructure(JsonValue jsonValue, String key) %7B%0A        if (key != null)%0A            printKey(key);%0A        switch(jsonValue.getValueType()) %7B%0A            case OBJECT:%0A                JsonObject jsonObject = (JsonObject) jsonValue;%0A                for (String name : jsonObject.keySet())%0A                    navigateJsonStructure(jsonObject.get(name), name);%0A                break;%0A            case ARRAY:%0A                for (JsonValue value : (JsonArray) jsonValue)%0A                    navigateJsonStructure(value, null);%0A                break;%0A            case STRING:%0A                printValue(((JsonString) jsonValue).getString());%0A                break;%0A            case NUMBER:%0A                printValue(jsonValue.toString());%0A                break;%0A            case TRUE:%0A            case FALSE:%0A            case NULL:%0A                printValue(jsonValue.getValueType().toString());%0A                break;%0A        %7D%0A    %7D%0A%0A    private void printKey(String key) %7B%0A        System.out.print(key + %22: %22);%0A    %7D%0A%0A    private void printValue(String x) %7B%0A        System.out.println(x);%0A    %7D%0A%0A%7D

Add ObjectExample5 navigate model using value enum type