code: @SneakyThrows
     public static Map<String, Val> loads(String data) {
        Map<String, Val> r = new HashMap<>();
        try (JsonReader reader = new JsonReader(new StringResource(data))) {
           reader.beginDocument();
           while (reader.peek() != JsonTokenType.END_DOCUMENT) {
              String name = reader.peekName();
              switch (reader.peek()) {
                 case BEGIN_OBJECT:
                    r.put(name, Val.of(reader.nextMap()));
                    break;
                 case BEGIN_ARRAY:
                    r.put(name, Val.of(reader.nextCollection(ArrayList::new)));
                    break;
                 case NAME:
                    r.put(name, reader.nextKeyValue(name));
                    break;
                 default:
                    reader.skip();
              }
           }
           reader.endDocument();
        }
        return r;
     }
docs: Reads the resource in the format to a map.
  
  @param data the data
  @return the data in the resource as a map