Most visited

Recently visited

Added in API level 1

JSONTokener

public class JSONTokener
extends Object

java.lang.Object
    org.json.JSONTokener


将JSON( RFC 4627 )编码的字符串分析到相应的对象中。 这个班级的大多数客户只需要使用constructornextValue()方法。 用法示例:

 String json = "{"
         + "  \"query\": \"Pizza\", "
         + "  \"locations\": [ 94043, 90210 ] "
         + "}";

 JSONObject object = (JSONObject) new JSONTokener(json).nextValue();
 String query = object.getString("query");
 JSONArray locations = object.getJSONArray("locations");

为了获得最佳的互操作性和性能,请使用符合RFC 4627的JSON,例如由JSONStringer生成的JSONStringer 由于遗留的原因,这个解析器是宽松的,所以成功的解析并不表示输入字符串是有效的JSON。 以下所有语法错误都将被忽略:

每个tokener可用于解析单个JSON字符串。 这个类的实例不是线程安全的。 虽然这个类是非终结性的,但它不是为继承而设计的,也不应该被继承。 特别是,没有指定可覆盖方法的自我使用。 有关更多信息,请参见有效Java项目17“设计和文档或继承或禁止它”。

摘要(Summary)

Public constructors

JSONTokener(String in)

公共方法(Public methods)

void back()

未读取输入的最新字符。

static int dehexchar(char hex)

返回给定十六进制字符的整数[0..15]值,或者对于非十六进制输入返回-1。

boolean more()

返回true,直到输入已耗尽。

char next()

返回下一个可用字符,如果所有输入都已用尽,则返回空字符'\ 0'。

char next(char c)

如果它等于 c则返回下一个可用字符。

String next(int length)

返回输入的下一个 length字符。

char nextClean()

返回不是空白且不属于注释的下一个字符。

String nextString(char quote)

返回字符串,但不包括 quote ,无法解决沿途遇到的任何字符转义序列。

String nextTo(String excluded)

返回 trimmed字符的 trimmed字符串,但不包括第一个字符:

  • any character in excluded
  • a newline character '\n'
  • a carriage return '\r'

返回的字符串与此tokener的输入字符串共享其支持字符数组。

String nextTo(char excluded)

相当于 nextTo(String.valueOf(excluded))

Object nextValue()

返回输入中的下一个值。

void skipPast(String thru)

提前通过所有输入,直至包括下一次出现的 thru

char skipTo(char to)

提前通过所有输入,但不包括下一次出现的 to

JSONException syntaxError(String message)

返回包含给定消息加上当前位置和整个输入字符串的异常。

String toString()

返回当前位置和整个输入字符串。

继承方法(Inherited methods)

From class java.lang.Object

Public constructors

JSONTokener

Added in API level 1
JSONTokener (String in)

参数(Parameters)
in String: JSON encoded string. Null is not permitted and will yield a tokener that throws NullPointerExceptions when methods are called.

公共方法(Public methods)

back

Added in API level 1
void back ()

未读取输入的最新字符。 如果没有输入字符被读取,则输入不变。

dehexchar

Added in API level 1
int dehexchar (char hex)

返回给定十六进制字符的整数[0..15]值,或者对于非十六进制输入返回-1。

参数(Parameters)
hex char: a character in the ranges [0-9], [A-F] or [a-f]. Any other character will yield a -1 result.
返回(Returns)
int

more

Added in API level 1
boolean more ()

返回true,直到输入已耗尽。

返回(Returns)
boolean

next

Added in API level 1
char next ()

返回下一个可用字符,如果所有输入都已用尽,则返回空字符'\ 0'。 此方法的返回值对于包含字符'\ 0'的JSON字符串不明确。

返回(Returns)
char

next

Added in API level 1
char next (char c)

如果它等于c则返回下一个可用字符。 否则会引发异常。

参数(Parameters)
c char
返回(Returns)
char
抛出异常(Throws)
JSONException

next

Added in API level 1
String next (int length)

返回输入的下一个 length字符。

返回的字符串与此tokener的输入字符串共享其支持字符数组。 如果对返回字符串的引用可能无限期地保留,则应先使用new String(result)将其复制以避免内存泄漏。

参数(Parameters)
length int
返回(Returns)
String
抛出异常(Throws)
JSONException if the remaining input is not long enough to satisfy this request.

nextClean

Added in API level 1
char nextClean ()

返回不是空白且不属于注释的下一个字符。 如果在找到这样的字符之前输入已耗尽,则返回空字符'\ 0'。 此方法的返回值对于包含字符'\ 0'的JSON字符串不明确。

返回(Returns)
char
抛出异常(Throws)
JSONException

nextString

Added in API level 1
String nextString (char quote)

返回字符串,但不包括quote ,消除了沿途遇到的任何字符转义序列。 开幕报价应该已经阅读。 这会消耗结尾报价,但不包括在返回的字符串中。

参数(Parameters)
quote char: either ' or ".
返回(Returns)
String
抛出异常(Throws)
JSONException

nextTo

Added in API level 1
String nextTo (String excluded)

返回 trimmed字符的 trimmed字符串,但不包括第一个字符:

  • any character in excluded
  • a newline character '\n'
  • a carriage return '\r'

返回的字符串与此tokener的输入字符串共享其支持字符数组。 如果对返回字符串的引用可能无限期地保留,则应先使用new String(result)先复制它以避免内存泄漏。

参数(Parameters)
excluded String
返回(Returns)
String a possibly-empty string

nextTo

Added in API level 1
String nextTo (char excluded)

相当于 nextTo(String.valueOf(excluded))

参数(Parameters)
excluded char
返回(Returns)
String

nextValue

Added in API level 1
Object nextValue ()

返回输入中的下一个值。

返回(Returns)
Object a JSONObject, JSONArray, String, Boolean, Integer, Long, Double or NULL.
抛出异常(Throws)
JSONException if the input is malformed.

skipPast

Added in API level 1
void skipPast (String thru)

提前通过所有输入,直至包括下一次出现的thru 如果剩余的输入不包含thru ,则输入已耗尽。

参数(Parameters)
thru String

skipTo

Added in API level 1
char skipTo (char to)

提前通过所有输入,但不包括下一次出现的to 如果剩余的输入不包含to ,则输入保持不变。

参数(Parameters)
to char
返回(Returns)
char

syntaxError

Added in API level 1
JSONException syntaxError (String message)

返回包含给定消息加上当前位置和整个输入字符串的异常。

参数(Parameters)
message String
返回(Returns)
JSONException

toString

Added in API level 1
String toString ()

返回当前位置和整个输入字符串。

返回(Returns)
String a string representation of the object.

Hooray!