json解析json数据

在java中解析json数据,需要外包

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

class Student {
    private String name;
    private int age;

    public Student(String name, int age) {
        super();
        this.name = name;
        this.age = age;
    }

    public Student() {
    }

    @Override
    public String toString() {
        return "Student [name=" + name + ", age=" + age + "]";
    }

}

public class Test {
    public static void main(String[] args) {
        // 学生对象 java对象
        // Student student = new Student("张三", 18);
        // json数据描述学生对象
        // 格式一 {} --》JSONObject
        String json = "{name:'张三',age:18}";
        // json--->java对象
        try {
            JSONObject jsonObject = new JSONObject(json);
            Student student = new Student(jsonObject.getString("name"), jsonObject.getInt("age"));
            System.out.println(student);
        } catch (JSONException e) {
            e.printStackTrace();
        }
        // 格式二 []--->JSONArray解析
        String array = "['张三','尼古拉斯赵四','赵六']";
        try {
            // length()得到json数据中元素的个数
            JSONArray jsonArray = new JSONArray(array);
            for (int i = 0; i < jsonArray.length(); i++) {
                System.out.println(jsonArray.getString(i));
            }

        } catch (JSONException e) {
            e.printStackTrace();
        }

        // 格式三
        String json3 = "[{name:'周周',age:18},{name:'宁金伟',age:25}]";
        try {
            JSONArray jsonArray = new JSONArray(json3);
            for (int i = 0; i < jsonArray.length(); i++) {
                // 从JSONArray中取出每一个元素
                JSONObject jsonObject = jsonArray.getJSONObject(i);
                Student student = new Student(jsonObject.getString("name"), jsonObject.getInt("age"));
                System.out.println(student);
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }

    }

}

 

posted @ 2016-05-29 19:55  ts-android  阅读(1431)  评论(0编辑  收藏  举报