javaScript Object Notation符號(hào) 基于Javascript語言的輕量級(jí)的數(shù)據(jù)交換格式; 即:用來傳輸數(shù)據(jù)的一種格式.
名(鍵)值對(duì)(name:value) 例:
{name1:value1,name2:value2......}鍵值對(duì)的順序無所謂只是這么叫,并不等同于Object[]我們平時(shí)使用的數(shù)組概念
[value1,value2,value3,...]解析方式有org.json,Gson,fastJson等。。。
org.json解析 * 當(dāng)json字符串以”{“開始,用JSONObject解析 * 當(dāng)json字符串以”[“開始,用JSONArray解析
應(yīng)為我比較喜歡用Gson,所以只介紹Gson解析
User.java
public class User { PRivate String name; private int age; public User() { } public User(String name, int age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "User [name=" + name + ", age=" + age + "]"; }}用org.json解析String json = “{name:’zhangsan’,age:20}”;
String json = "{"name": "李四", "age": 20}"; JSONObject object = new JSONObject(json); String name = object.getString("name"); int age = object.getInt("age"); System.out.println(name + " " + age); User user = new User(name, age); System.out.println(user);打印結(jié)果為:User [name=李四 , age=20 ]
Gson 是 Google 提供的用來在 Java 對(duì)象和 JSON 數(shù)據(jù)之間進(jìn)行映射的 Java 類庫。可以將一個(gè) JSON 字符串轉(zhuǎn)成一個(gè) Java 對(duì)象,或者反過來。
Person類中定義了name,age屬性
用Gson解析String json = “{name:’zhangsan’,age:20}”;
String json = "{"name": "李四", "age": 20}"; // 1、創(chuàng)建一個(gè)Gson對(duì)象 Gson gson = new Gson(); // 2、解析字符串. User.class : 1、必須有無參的構(gòu)造方法 2、每個(gè)屬性必須提供setter getter方法 // 3、類的屬性要和json格式的字符串中的鍵值對(duì)要匹配 User user = gson.fromJson(json, User.class); System.out.println(user);打印結(jié)果為:User [name=李四 , age=20 ]
注意: 在用GSON/fastjson解析時(shí),javabean中的屬性名和數(shù)據(jù)類型一定要跟json字符串中的完全一樣!
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注