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(); } } }