code: public Long getLong(String name, boolean strict) throws JsonException {
          JsonElement el = get(name);
          Long res = null;
          if (strict && !el.isNumber()) {
              throw Util.typeMismatch(name, el, "long", true);
          }
          if (el.isNumber()) {
              res = el.asLong();
          }
          if (el.isString()) {
              res = Util.toLong(el.asString());
          }
          if (res == null)
              throw Util.typeMismatch(name, el, "long", strict);
          return res;
      }
docs: Returns the value mapped by {@code name} if it exists and is a long or
  can be coerced to a long, or throws otherwise.
  Note that Util represents numbers as doubles,
  so this is <a href="#lossy">lossy</a>; use strings to transfer numbers via Util.
  
  @throws JsonException if the mapping doesn't exist or cannot be coerced
  to a long.