package com.example.ipcplayer.json;
import org.json.JSONException;
import org.json.JSONObject;
import org.json.JSONTokener;
public class ParseJson{
//this is good
//http://blog.csdn.net/aomandeshangxiao/article/details/7000077
private static final String JSON =
"{" +
" \"phone\" : [\"12345678\", \"87654321\"]," +
" \"name\" : \"yuanzhifei89\"," +
" \"age\" : 100," +
" \"address\" : { \"country\" : \"china\", \"province\" : \"jiangsu\" }," +
" \"married\" : false" +
"}";
public void parse3(String json) {
try {
JSONTokener jsonParser = new JSONTokener(JSON);
// �������¶�8��json�ı��е��ַ�����ʱ�տ�ʼ������{��
jsonParser.next(8); // { "phone��tab��һ���ַ�
// �������¶�1��json�ı��е��ַ�
jsonParser.next(); // "
// �������¶�ȡһ��json�ı��е��ַ������ַ����ǿհס�ͬʱҲ����ע���е��ַ�
jsonParser.nextClean(); // :
// ���ص�ǰ�Ķ�ȡλ�õ���һ������'a'֮����ַ�����������a����
jsonParser.nextString('a'); // ["12345678", "87654321"], "n��ǰ���������ո�
// ���ص�ǰ��ȡλ�õ���һ�������ַ�����(��"0089")�����ַ�֮����ַ�����ͬʱ���ַ���trimmed�ġ����˴����ǵ�һ��������89��
jsonParser.nextTo("0089"); // me" : "yuanzhifei
// ��ȡλ�ó���һ��
jsonParser.back();
jsonParser.next(); // i
// ��ȡλ��ǰ����ָ���ַ������������ַ�����
jsonParser.skipPast("address");
jsonParser.next(8); // " : { "c
// ��ȡλ��ǰ����ִ���ַ������������ַ���
jsonParser.skipTo('m');
jsonParser.next(8); // married"
} catch (JSONException ex) {
// �쳣�������
}
}
public void parse(String json){
System.out.println("json: " + json);
StringBuilder string = new StringBuilder();
try {
JSONTokener jsonParser = new JSONTokener(json);
// ��ʱ��δ��ȡ�κ�json�ı���ֱ�Ӷ�ȡ����һ��JSONObject����
// �����ʱ�Ķ�ȡλ����"name" : �ˣ���ônextValue����"yuanzhifei89"��String��
JSONObject person = (JSONObject) jsonParser.nextValue();
System.out.println("parse: get jsonobject ");
// �������ľ���JSON����IJ�����
person.getString("name");
System.out.println("name: " + person.getString("name"));
person.getJSONArray("phone");
System.out.println("phone: " + person.getJSONArray("phone"));
person.getBoolean("married");
System.out.println("married: " + person.getBoolean("married"));
person.getInt("age");
System.out.println("age: " + person.getInt("age"));
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void parse2(String json){
System.out.println("json: " + json);
try{
JSONTokener jsonParser = new JSONTokener(json);
// �������¶�8��json�ı��е��ַ�����ʱ�տ�ʼ������{��
jsonParser.next();
System.out.println("0: " + jsonParser.next());
jsonParser.next(1);
System.out.println("1: " + jsonParser.next(1));
jsonParser.next(2);
System.out.println("2: " + jsonParser.next(2));
jsonParser.next(3);
System.out.println("3: " + jsonParser.next(3));
jsonParser.next(4);
System.out.println("4: " + jsonParser.next(4));
jsonParser.next(5);
System.out.println("5: " + jsonParser.next(5));
jsonParser.next(6);
System.out.println("6: " + jsonParser.next(6));
jsonParser.next(7);
System.out.println("7: " + jsonParser.next(7));
jsonParser.next(8);
System.out.println("8: " + jsonParser.next(8));
}catch(Exception e){
e.printStackTrace();
}
}
}