国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 宜丰县| 吴桥县| 深圳市| 陆河县| 岚皋县| 慈利县| 永胜县| 抚顺市| 靖西县| 甘肃省| 大竹县| 千阳县| 喀喇| 工布江达县| 巴楚县| 天祝| 延安市| 平南县| 无为县| 乌什县| 肥东县| 怀安县| 凤凰县| 衡阳县| 景洪市| 兴业县| 乌兰察布市| 麻城市| 修水县| 宁河县| 永年县| 牡丹江市| 东至县| 永靖县| 广宁县| 通州区| 深州市| 隆尧县| 乌兰浩特市| 东乡县| 丰宁|