Ejemplo n.º 1
0
 public static void dumpJSON(JsonValue tree, String key, String depthPrefix) {
   if (key != null) logger.info(depthPrefix + "Key " + key + ": ");
   switch (tree.getValueType()) {
     case OBJECT:
       logger.info(depthPrefix + "OBJECT");
       JsonObject object = (JsonObject) tree;
       for (String name : object.keySet()) dumpJSON(object.get(name), name, depthPrefix + "  ");
       break;
     case ARRAY:
       logger.info(depthPrefix + "ARRAY");
       JsonArray array = (JsonArray) tree;
       for (JsonValue val : array) dumpJSON(val, null, depthPrefix + "  ");
       break;
     case STRING:
       JsonString st = (JsonString) tree;
       logger.info(depthPrefix + "STRING " + st.getString());
       break;
     case NUMBER:
       JsonNumber num = (JsonNumber) tree;
       logger.info(depthPrefix + "NUMBER " + num.toString());
       break;
     case TRUE:
     case FALSE:
     case NULL:
       logger.info(depthPrefix + tree.getValueType().toString());
       break;
   }
 }
Ejemplo n.º 2
0
  /**
   * http://docs.oracle.com/middleware/1213/wls/WLPRG/java-api-for-json-proc.htm#WLPRG1061
   *
   * @param tree
   * @param key
   */
  public static Object navigateTree(JsonValue tree, String key) {

    Object ret = null;

    if (key != null) System.out.print("Key " + key + ": ");

    switch (tree.getValueType()) {
      case OBJECT:
        System.out.println("OBJECT");
        JsonObject object = (JsonObject) tree;

        for (String name : object.keySet()) navigateTree(object.get(name), name);
        break;
      case ARRAY:
        System.out.println("ARRAY");
        JsonArray array = (JsonArray) tree;
        for (JsonValue val : array) navigateTree(val, null);
        break;
      case STRING:
        JsonString st = (JsonString) tree;
        System.out.println("STRING " + st.getString());
        break;
      case NUMBER:
        JsonNumber num = (JsonNumber) tree;
        System.out.println("NUMBER " + num.toString());
        break;
      case TRUE:
        System.out.println("TRUE");
      case FALSE:
        System.out.println("FALSE");
      case NULL:
        System.out.println(tree.getValueType().toString());
        break;
    }

    return ret;
  }
Ejemplo n.º 3
0
 public static int navigateTree(JsonValue tree, String skip) {
   int ret = 0;
   switch (tree.getValueType()) {
     case OBJECT:
       // System.out.println("OBJECT");
       JsonArrayBuilder dirtyResult = Json.createArrayBuilder();
       JsonObject object = (JsonObject) tree;
       for (String name : object.keySet()) {
         if (object.get(name).getValueType() == JsonValue.ValueType.STRING
             && object.getString(name).equals(skip)) {
           return 0;
         }
         dirtyResult.add(object.get(name));
       }
       ret = ret + navigateTree(dirtyResult.build(), skip);
       break;
     case ARRAY:
       // System.out.println("ARRAY");
       JsonArray array = (JsonArray) tree;
       for (JsonValue val : array) ret = ret + navigateTree(val, skip);
       break;
     case STRING:
       JsonString st = (JsonString) tree;
       // System.out.println("STRING " + st.getString());
       break;
     case NUMBER:
       JsonNumber num = (JsonNumber) tree;
       return num.intValue();
     case TRUE:
     case FALSE:
     case NULL:
       // System.out.println(tree.getValueType().toString());
       break;
   }
   return ret;
 }