- java.lang.Object
-
- org.redkale.convert.Reader
-
- org.redkale.convert.json.JsonReader
-
- 直接已知子类:
JsonByteBufferReader
public class JsonReader extends Reader
JSON数据源详情见: https://redkale.org
- 作者:
- zhangjx
-
-
嵌套类概要
嵌套类 修饰符和类型 类 说明 protected static classJsonReader.CharArray-
从类继承的嵌套类/接口 org.redkale.convert.Reader
Reader.ValueType
-
-
字段概要
字段 修饰符和类型 字段 说明 protected static int[]digitsprotected intposition-
从类继承的字段 org.redkale.convert.Reader
SIGN_NULL, SIGN_VARIABLE
-
-
构造器概要
构造器 构造器 说明 JsonReader()JsonReader(char[] text)JsonReader(char[] text, int start, int len)JsonReader(String json)
-
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 protected JsonReader.CharArrayarray()protected voidbackChar(char ch)回退最后读取的字符voidclose()booleanhasNext()判断对象是否存在下一个属性或者数组是否存在下一个元素booleanisNextArray()是否[开头的数组字符booleanisNextObject()是否{开头的对象字符protected charnextChar()读取下一个字符, 不跳过空白字符protected charnextGoodChar(boolean allowComment)跳过空白字符、单行或多行注释, 返回一个非空白字符intposition()获取当前位置voidprepare(byte[] bytes)设置Reader的内容,通常结合对象池使用intreadArrayB(Decodeable componentDecoder)判断下一个非空白字符是否为[voidreadArrayE()读取数组的尾端voidreadBlank()判断下一个非空白字符是否:booleanreadBoolean()读取一个boolean值bytereadByte()读取一个byte值byte[]readByteArray()读取byte[]charreadChar()读取一个char值doublereadDouble()读取一个double值DeMemberreadField(DeMemberInfo memberInfo)根据字段读取字段对应的DeMemberStringreadFieldName()floatreadFloat()读取一个float值intreadInt()读取一个int值longreadLong()读取一个long值intreadMapB(Decodeable keyDecoder, Decodeable valuedecoder)判断下一个非空白字符是否为{voidreadMapE()读取数组的尾端StringreadObjectB(Class clazz)判断下一个非空白字符是否为{voidreadObjectE(Class clazz)读取对象的尾端shortreadShort()读取一个short值StringreadStandardString()读取无转义字符长度不超过255的字符串, 例如枚举值、字段名、类名字符串等StringreadString()读取字符串, 必须是"或者'包围的字符串值protected StringreadString(boolean flag)StringreadStringValue()Reader.ValueTypereadType()读取下个值的类型protected booleanrecycle()voidseek(String key)找到指定的属性值 例如: {id : 1, data : { name : 'a', items : [1,2,3]}} seek('data.items') 直接跳转到 [1,2,3];JsonReadersetText(char[] text)JsonReadersetText(char[] text, int start, int len)JsonReadersetText(String text)voidskipValue()跳过属性的值
-
-
-
构造器详细资料
-
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(String text)
-
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的内容,通常结合对象池使用
-
recycle
protected boolean recycle()
-
array
protected final JsonReader.CharArray array()
-
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- 指定的属性名
-
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()
是否[开头的数组字符- 返回:
- 是否数组字符
-
readType
public final Reader.ValueType readType()
从类复制的说明:Reader读取下个值的类型
-
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)
判断下一个非空白字符是否为{
-
readArrayB
public int readArrayB(Decodeable componentDecoder)
判断下一个非空白字符是否为[- 指定者:
readArrayB在类中Reader- 参数:
componentDecoder- Decodeable- 返回:
- SIGN_VARIABLE 或 SIGN_NULL
- 另请参阅:
Reader.SIGN_NULL,Reader.SIGN_VARIABLE
-
readArrayE
public final void readArrayE()
从类复制的说明:Reader读取数组的尾端- 指定者:
readArrayE在类中Reader
-
readFieldName
public final String readFieldName()
-
readField
public DeMember readField(DeMemberInfo memberInfo)
从类复制的说明:Reader根据字段读取字段对应的DeMember
-
readBoolean
public final boolean readBoolean()
从类复制的说明:Reader读取一个boolean值- 指定者:
readBoolean在类中Reader- 返回:
- boolean值
-
readByteArray
public final byte[] readByteArray()
从类复制的说明:Reader读取byte[]- 指定者:
readByteArray在类中Reader- 返回:
- byte[]
-
readShort
public final short readShort()
从类复制的说明:Reader读取一个short值
-
readFloat
public final 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)
-
-