public class JsonReader extends Reader
详情见: https://redkale.org
Reader.ValueType
限定符和类型 | 字段和说明 |
---|---|
protected int |
position |
fieldIndex, SIGN_NOLENBUTBYTES, SIGN_NOLENGTH, SIGN_NULL
构造器和说明 |
---|
JsonReader() |
JsonReader(char[] text) |
JsonReader(char[] text,
int start,
int len) |
JsonReader(java.lang.String json) |
限定符和类型 | 方法和说明 |
---|---|
protected void |
backChar(char ch)
回退最后读取的字符
|
void |
close() |
static ObjectPool<JsonReader> |
createPool(int max) |
boolean |
hasNext(int startPosition,
int contentLength)
判断对象是否存在下一个属性或者数组是否存在下一个元素
|
protected char |
nextChar()
读取下一个字符, 不跳过空白字符
|
protected char |
nextGoodChar()
跳过空白字符, 返回一个非空白字符
|
int |
position()
获取当前位置
|
int |
readArrayB(DeMember member,
byte[] typevals,
Decodeable componentDecoder)
判断下一个非空白字符是否为[
|
void |
readArrayE()
读取数组的尾端
|
void |
readBlank()
判断下一个非空白字符是否:
|
boolean |
readBoolean()
读取一个boolean值
|
byte |
readByte()
读取一个byte值
|
byte[] |
readByteArray()
读取byte[]
|
char |
readChar()
读取一个char值
|
java.lang.String |
readClassName()
读取反解析对象的类名
|
double |
readDouble()
读取一个double值
|
DeMember |
readFieldName(DeMember[] members)
根据字段读取字段对应的DeMember
|
float |
readFloat()
读取一个float值
|
int |
readInt()
读取一个int值
|
long |
readLong()
读取一个long值
|
int |
readMapB(DeMember member,
byte[] typevals,
Decodeable keyDecoder,
Decodeable valuedecoder)
判断下一个非空白字符是否为{
|
void |
readMapE()
读取数组的尾端
|
int |
readMemberContentLength(DeMember member,
Decodeable decoder)
读取字段值内容的字节数
只有在readXXXB方法返回SIGN_NOLENBUTBYTES值才会调用此方法 |
java.lang.String |
readObjectB(java.lang.Class clazz)
判断下一个非空白字符是否为{
|
void |
readObjectE(java.lang.Class clazz)
读取对象的尾端
|
short |
readShort()
读取一个short值
|
java.lang.String |
readSmallString()
读取无转义字符长度不超过255的字符串, 例如枚举值、字段名、类名字符串等
|
java.lang.String |
readString()
读取字符串, 必须是"或者'包围的字符串值
|
Reader.ValueType |
readType()
读取下个值的类型
|
protected boolean |
recycle() |
void |
seek(java.lang.String key)
找到指定的属性值 例如: {id : 1, data : { name : 'a', items : [1,2,3]}} seek('data.items') 直接跳转到 [1,2,3];
|
void |
setText(char[] text) |
void |
setText(char[] text,
int start,
int len) |
void |
setText(java.lang.String text) |
void |
skipValue()
跳过属性的值
|
public JsonReader()
public JsonReader(java.lang.String json)
public JsonReader(char[] text)
public JsonReader(char[] text, int start, int len)
public static ObjectPool<JsonReader> createPool(int max)
public final void setText(java.lang.String text)
public final void setText(char[] text)
public final void setText(char[] text, int start, int len)
protected boolean recycle()
public void close()
public final void seek(java.lang.String key)
key
- 指定的属性名protected char nextChar()
protected char nextGoodChar()
protected void backChar(char ch)
ch
- 后退的字符public final Reader.ValueType readType()
Reader
public java.lang.String readObjectB(java.lang.Class clazz)
readObjectB
在类中 Reader
clazz
- 类名public final void readObjectE(java.lang.Class clazz)
Reader
readObjectE
在类中 Reader
clazz
- 类名public final int readMapB(DeMember member, byte[] typevals, Decodeable keyDecoder, Decodeable valuedecoder)
public int readArrayB(DeMember member, byte[] typevals, Decodeable componentDecoder)
readArrayB
在类中 Reader
member
- DeMembertypevals
- byte[]componentDecoder
- Decodeablepublic final void readArrayE()
Reader
readArrayE
在类中 Reader
public int readMemberContentLength(DeMember member, Decodeable decoder)
Reader
readMemberContentLength
在类中 Reader
member
- DeMemberdecoder
- Decodeablepublic boolean hasNext(int startPosition, int contentLength)
public final java.lang.String readClassName()
Reader
readClassName
在类中 Reader
public java.lang.String readSmallString()
Reader
readSmallString
在类中 Reader
public final DeMember readFieldName(DeMember[] members)
Reader
readFieldName
在类中 Reader
members
- DeMember的全量集合public final boolean readBoolean()
Reader
readBoolean
在类中 Reader
public final byte[] readByteArray()
Reader
readByteArray
在类中 Reader
public final short readShort()
Reader
public final float readFloat()
Reader
public final double readDouble()
Reader
readDouble
在类中 Reader
public java.lang.String readString()
readString
在类中 Reader