code: protected static final Object parseMap(Source src) throws IOException {
  		if (src.ch == '{') {
  			src.idx++;
  		}
  		LinkedHashMap<String, Object> map = new LinkedHashMap<String, Object>();
  		String childName;
  		for (; src.idx <= src.last; src.idx++) {
  			skipWhitespaces(src);
  			if (src.ch == '"') {
  				childName = parseString(src);
  				skipWhitespaces(src);
  				if (src.ch != ':') {
  					throw new IOException("Expecting ':' character, but got " + (int) src.ch + "!");
  				}
  				src.idx++;
  				skipWhitespaces(src);
  				map.put(childName, parseNext(src));
  				skipWhitespaces(src);
  			}
  			if (src.ch == '}') {
  				src.idx++;
  				break;
  			}
  			if (src.ch == ',') {
  				continue;
  			}
  			throw new IOException("Expecting '}' or ',' but got char " + (int) src.ch + "!");
  		}
  		return map;
  	}
docs: --- MAP (~= JSON OBJECT) PARSER ---