คลาส JSONTokener ให้ Application แบบแยก String เป็น Tokens ใช้โดย Constructor ของ JSONObject และ JSONArray เพื่อ Parse JSON Source Strings
เมธอดสำคัญของ JSONTokener:
back()- เคลื่อน Cursor ย้อนกลับ 1 ตำแหน่งmore()- คืน true หาก Token ยังมี Elementnext()- คืน Character ถัดจากตำแหน่งปัจจุบันnextTo(character)- คืน String จนกว่าจะเจอ Character ที่กำหนด
Syntax
public class JSONTokener extends java.lang.Object
ตัวอย่าง: ใช้ JSONTokener Parse Tokens
import java.io.*;
import org.json.*;
public class JSONTokenerTest {
public static void main(String[] args) throws JSONException, Exception {
String jsonStr = "{" + " \"Technology\": \"Java\", " + " \"location\": [ Madhapur, Hyderabad ] " + "}";
JSONTokener jsonToken = new JSONTokener(jsonStr);
jsonToken.next(); // {
jsonToken.next(); // Space
jsonToken.next(); // "
jsonToken.next(); // T
char c = jsonToken.next(); // e
jsonToken.back(); // ย้อนกลับไปที่ e
boolean b = jsonToken.more(); // true
String s = jsonToken.nextTo('i'); // อ่านจนกว่าเจอ 'i'
System.out.println("next character: " + c);
System.out.println("has more tokens: " + b);
System.out.println("next to i: " + s);
}
}
ผลลัพธ์
next character: e
has more tokens: true
next to i: Technology": "Java", "locat
Use Case: Low-level JSON Parsing, Custom Parsers, Streaming Token Processing โดยทั่วไปใช้ JSONObject/JSONArray แทนเพราะ High-level API ใช้งานง่ายกว่า