public class MyJson {
/**
* 解析简单的json字符串
*/
public static final String JSON_SIMPLE = "{'name':'tom','age':16}";
public static void parseJson(){
JSONObject obj = JSONObject.fromObject(JSON_SIMPLE);
System.out.println("name is : " + obj.get("name"));
System.out.println("age is : " + obj.get("age"));
}

/**
* 解析嵌套的json字符串
*/
public static final String JSON_SIMPLE1="{'name':'tom','score':{'Math':98," +
"'English':90}}";
public static void parseJson1(){
JSONObject obj=JSONObject.fromObject(JSON_SIMPLE1);
System.out.println("name is: "+obj.get("name"));
System.out.println("score is:"+obj.get("score"));
JSONObject scoreObj=(JSONObject)obj.get("score");
System.out.println("Math score is :"+scoreObj.get("Math"));
System.out.println("English score is :"+scoreObj.get("English"));
}

/**
*把Bean对象转化成JSONObject对象
*/
public static void parseJson2(){
Score score=new Score();
score.setEnglish("A");
score.setMath("B");

Info info=new Info();
info.setAge(20);
info.setScore(score);

Person person=new Person();
person.setInfo(info);
person.setName("Tim");
JSONObject obj=JSONObject.fromObject(person);
System.out.println(obj.toString());
}

/**
*把json数组转化成jsonObject数组
*/
public static final String JSON_ARRAY="[{'name':'tom'}," +
"{'name':'john','age':20},{}]";
public static void parseJson3(){
JSONArray arr=JSONArray.fromObject(JSON_ARRAY);
System.out.println(arr);
for(int i=0;i<arr.size();i++){
JSONObject obj=arr.getJSONObject(i);
System.out.println(obj.toString());
}
}

/**
* 构造一个json字符串
*/
public static void parseJson4(){
JSONObject obj=new JSONObject();
obj.put("name","tom");
obj.put("age",19);
//子对象
JSONObject jsonObject=new JSONObject();
jsonObject.put("tel","123456");
jsonObject.put("email","tom@test.com");
obj.put("contact",jsonObject);
//子数组对象
JSONArray scoreArr=new JSONArray();
JSONObject objEnglish=new JSONObject();
objEnglish.put("course","english");
objEnglish.put("result",100);
objEnglish.put("level","A");

JSONObject objMath=new JSONObject();
objMath.put("course","math");
objMath.put("result",50);
objMath.put("level","D");
scoreArr.add(objEnglish);
scoreArr.add(objMath);
obj.put("score",scoreArr);
System.out.println(obj.toString());
}
public static void main(String[] args){
System.out.println("parseJson():");
parseJson();
System.out.println();
System.out.println("parseJson()1:");
parseJson1();
System.out.println();
System.out.println("parseJson()2:");
parseJson2();
System.out.println();
System.out.println("parseJson()3:");
parseJson3();
System.out.println();
System.out.println("parseJson()4:");
parseJson4();
}
}
相关类:
public class Score {
private String math;
private String english;

public String getEnglish() {
return english;
}

public void setEnglish(String english) {
this.english = english;
}

public String getMath() {

return math;
}

public void setMath(String math) {
this.math = math;
}
}public class Info {
private int age;
private Score score;

public Score getScore() {
return score;
}

public void setScore(Score score) {
this.score = score;
}

public int getAge() {

return age;
}

public void setAge(int age) {
this.age = age;
}
}public class Person {
private String name;
private Info info;

public Info getInfo() {
return info;
}

public void setInfo(Info info) {
this.info = info;
}

public String getName() {

return name;
}

public void setName(String name) {
this.name = name;
}
}parseJson():
name is : tom
age is : 16

parseJson()1:
name is: tom
score is:{"English":90,"Math":98}
Math score is :98
English score is :90

parseJson()2:
{"name":"Tim","info":{"score":{"english":"A","math":"B"},"age":20}}

parseJson()3:
[{"name":"tom"},{"name":"john","age":20},{}]
{"name":"tom"}
{"name":"john","age":20}
{}

parseJson()4:
{"score":[{"result":100,"level":"A","course":"english"},{"result":50,"level":"D","course":"math"}],"contact":{"tel":"123456","email":"tom@test.com"},"name":"tom","age":19}