模块 org.redkale

类 JsonReader

  • 直接已知子类:
    JsonByteBufferReader

    public class JsonReader
    extends Reader
    JSON数据源

    详情见: https://redkale.org

    作者:
    zhangjx
    • 字段详细资料

      • position

        protected int position
      • digits

        protected static final int[] digits
    • 构造器详细资料

      • JsonReader

        public JsonReader()
      • JsonReader

        public JsonReader​(String json)
      • JsonReader

        public JsonReader​(char[] text)
      • JsonReader

        public JsonReader​(char[] text,
                          int start,
                          int len)
    • 方法详细资料

      • setText

        public final JsonReader setText​(char[] text)
      • setText

        public final JsonReader setText​(char[] text,
                                        int start,
                                        int len)
      • prepare

        public void prepare​(byte[] bytes)
        从类复制的说明: Reader
        设置Reader的内容,通常结合对象池使用
        指定者:
        prepare 在类中 Reader
        参数:
        bytes - 内容
      • recycle

        protected boolean recycle()
      • close

        public void close()
      • seek

        public final void seek​(String key)
        找到指定的属性值 例如: {id : 1, data : { name : 'a', items : [1,2,3]}} seek('data.items') 直接跳转到 [1,2,3];
        参数:
        key - 指定的属性名
      • skipValue

        public final void skipValue()
        跳过属性的值
        指定者:
        skipValue 在类中 Reader
      • nextChar

        protected char nextChar()
        读取下一个字符, 不跳过空白字符
        返回:
        空白字符或有效字符
      • nextGoodChar

        protected char nextGoodChar​(boolean allowComment)
        跳过空白字符、单行或多行注释, 返回一个非空白字符
        参数:
        allowComment - 是否容许含注释
        返回:
        有效字符
      • backChar

        protected void backChar​(char ch)
        回退最后读取的字符
        参数:
        ch - 后退的字符
      • isNextObject

        public final boolean isNextObject()
        是否{开头的对象字符
        返回:
        是否对象字符
      • isNextArray

        public final boolean isNextArray()
        是否[开头的数组字符
        返回:
        是否数组字符
      • readObjectB

        public String readObjectB​(Class clazz)
        判断下一个非空白字符是否为{
        覆盖:
        readObjectB 在类中 Reader
        参数:
        clazz - 类名
        返回:
        返回 null 表示对象为null, 返回空字符串表示当前class与返回的class一致,返回非空字符串表示class是当前class的子类。
      • readObjectE

        public final void readObjectE​(Class clazz)
        从类复制的说明: Reader
        读取对象的尾端
        指定者:
        readObjectE 在类中 Reader
        参数:
        clazz - 类名
      • readMapB

        public final int readMapB​(Decodeable keyDecoder,
                                  Decodeable valuedecoder)
        判断下一个非空白字符是否为{
        指定者:
        readMapB 在类中 Reader
        参数:
        keyDecoder - Decodeable
        valuedecoder - Decodeable
        返回:
        SIGN_VARIABLE 或 SIGN_NULL
      • readMapE

        public final void readMapE()
        从类复制的说明: Reader
        读取数组的尾端
        指定者:
        readMapE 在类中 Reader
      • readArrayE

        public final void readArrayE()
        从类复制的说明: Reader
        读取数组的尾端
        指定者:
        readArrayE 在类中 Reader
      • readBlank

        public void readBlank()
        判断下一个非空白字符是否:
        指定者:
        readBlank 在类中 Reader
      • position

        public int position()
        从类复制的说明: Reader
        获取当前位置
        指定者:
        position 在类中 Reader
        返回:
        当前位置
      • hasNext

        public final boolean hasNext()
        判断对象是否存在下一个属性或者数组是否存在下一个元素
        指定者:
        hasNext 在类中 Reader
        返回:
        是否存在
      • readInt

        public int readInt()
        读取一个int值
        指定者:
        readInt 在类中 Reader
        返回:
        int值
      • readLong

        public long readLong()
        读取一个long值
        指定者:
        readLong 在类中 Reader
        返回:
        long值
      • readFieldName

        public final String readFieldName()
      • readField

        public DeMember readField​(DeMemberInfo memberInfo)
        从类复制的说明: Reader
        根据字段读取字段对应的DeMember
        指定者:
        readField 在类中 Reader
        参数:
        memberInfo - DeMember信息
        返回:
        匹配的DeMember
      • readBoolean

        public final boolean readBoolean()
        从类复制的说明: Reader
        读取一个boolean值
        指定者:
        readBoolean 在类中 Reader
        返回:
        boolean值
      • readByte

        public final byte readByte()
        从类复制的说明: Reader
        读取一个byte值
        指定者:
        readByte 在类中 Reader
        返回:
        byte值
      • readByteArray

        public final byte[] readByteArray()
        从类复制的说明: Reader
        读取byte[]
        指定者:
        readByteArray 在类中 Reader
        返回:
        byte[]
      • readChar

        public final char readChar()
        从类复制的说明: Reader
        读取一个char值
        指定者:
        readChar 在类中 Reader
        返回:
        char值
      • readShort

        public final short readShort()
        从类复制的说明: Reader
        读取一个short值
        指定者:
        readShort 在类中 Reader
        返回:
        short值
      • readFloat

        public final float readFloat()
        从类复制的说明: Reader
        读取一个float值
        指定者:
        readFloat 在类中 Reader
        返回:
        float值
      • readDouble

        public final double readDouble()
        从类复制的说明: Reader
        读取一个double值
        指定者:
        readDouble 在类中 Reader
        返回:
        double值
      • readStandardString

        public String readStandardString()
        从类复制的说明: Reader
        读取无转义字符长度不超过255的字符串, 例如枚举值、字段名、类名字符串等
        指定者:
        readStandardString 在类中 Reader
        返回:
        String值
      • readString

        public final String readString()
        读取字符串, 必须是"或者'包围的字符串值
        指定者:
        readString 在类中 Reader
        返回:
        String值
      • readStringValue

        public final String readStringValue()
      • readString

        protected String readString​(boolean flag)