国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

json介紹與解析

2019-11-09 17:19:55
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

json介紹

基本概念

javaScript Object Notation符號(hào) 基于Javascript語(yǔ)言的輕量級(jí)的數(shù)據(jù)交換格式; 即:用來(lái)傳輸數(shù)據(jù)的一種格式.

json對(duì)象

名(鍵)值對(duì)(name:value) 例:

{name1:value1,name2:value2......}鍵值對(duì)的順序無(wú)所謂

json數(shù)組

只是這么叫,并不等同于Object[]我們平時(shí)使用的數(shù)組概念

[value1,value2,value3,...]

json解析

解析方式有org.json,Gson,fastJson等。。。

org.json解析 * 當(dāng)json字符串以”{“開(kāi)始,用JSONObject解析 * 當(dāng)json字符串以”[“開(kāi)始,用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 ]

json解析(Gson)

Gson解析簡(jiǎn)介

Gson 是 Google 提供的用來(lái)在 Java 對(duì)象和 JSON 數(shù)據(jù)之間進(jìn)行映射的 Java 類(lèi)庫(kù)。可以將一個(gè) JSON 字符串轉(zhuǎn)成一個(gè) Java 對(duì)象,或者反過(guò)來(lái)。

Gson類(lèi)的常用方法

1.< T > T fromJson(String json,Class clz):將json字符串轉(zhuǎn)成一個(gè)類(lèi)的對(duì)象形式2.String toJson(Object obj):將一個(gè)javabean類(lèi)或者集合的對(duì)象轉(zhuǎn)成json字符串的形式

舉例

String json = "{name:'zhangsan',age:20}";Person p =new Gson().fromJson(json, Person.class);

Person類(lèi)中定義了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、必須有無(wú)參的構(gòu)造方法 2、每個(gè)屬性必須提供setter getter方法 // 3、類(lèi)的屬性要和json格式的字符串中的鍵值對(duì)要匹配 User user = gson.fromJson(json, User.class); System.out.println(user);

打印結(jié)果為:User [name=李四 , age=20 ]

注意: 在用GSON/fastjson解析時(shí),javabean中的屬性名和數(shù)據(jù)類(lèi)型一定要跟json字符串中的完全一樣!


發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 苍南县| 玉树县| 汤原县| 高密市| 桂阳县| 邮箱| 墨竹工卡县| 潮州市| 房产| 华安县| 澄迈县| 工布江达县| 嵊州市| 安泽县| 扎兰屯市| 闸北区| 航空| 阜宁县| 晋中市| 安康市| 玉山县| 新和县| 镇平县| 且末县| 泉州市| 北碚区| 台南县| 阿拉善左旗| 鞍山市| 阜平县| 长汀县| 蒙山县| 织金县| 名山县| 剑阁县| 永州市| 镇雄县| 藁城市| 宜章县| 台中市| 通化县|