private Map<Object, Object> seekMap() {
        String key = null;
        char ch = 0;
        Object value;
        StringBuilder strBuilder = new StringBuilder();
        Map<Object, Object> map = new LinkedHashMap<Object, Object>();
        for (index++; index < length; index++) {
            if (!vali.isPass()) {
                break;
            }
            skipBlank();
            ch = jsonStr.charAt(index);
            if (ch != '}') {
                strBuilder = new StringBuilder();
                seekKey(strBuilder); // {"_key":"value"}
                index++;
                skipBlank();
                ch = jsonStr.charAt(index);
                if (!vali.isPass()) {
                    break;
                }
                if (ch != ':') {
                    vali.disPass(index);
                    break;
                }
                key = strBuilder.toString();
                strBuilder.setLength(0);
                index++;
                skipBlank();
                value = decode();
                if (vali.isPass()) {
                    map.put(key, value);// {"key":"_value"}
                } else {
                    break;
                }
                index++;
                skipBlank();
                ch = jsonStr.charAt(index);
                if (ch == ',') {
                    continue;
                } else if (ch == '}') {
                    break;
                } else {
                    vali.disPass(index);
                }
            }
        }
        if (ch != '}') {
            vali.disPass(index);
        }
        return map;
    }