欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

JSONObject詳解(net.sf.json-lib)-創(chuàng)新互聯(lián)

簡(jiǎn)介

在程序開發(fā)過程中,在參數(shù)傳遞,函數(shù)返回值等方面,越來(lái)越多的使用JSON。JSON(JavaScript Object Notation)是一種輕量級(jí)的數(shù)據(jù)交換格式,同時(shí)也易于機(jī)器解析和生成、易于理解、閱讀和撰寫,而且Json采用完全獨(dú)立于語(yǔ)言的文本格式,這使得Json成為理想的數(shù)據(jù)交換語(yǔ)言。

烏達(dá)ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來(lái)市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!

JSON建構(gòu)于兩種結(jié)構(gòu):

“名稱/值”對(duì)的集合(ACollection of name/value pairs),在不同的語(yǔ)言中,它被理解為對(duì)象(Object), 記錄(record), 結(jié)構(gòu)(struct), 字典(dictionary), 有趣列表(keyed list), 哈希表(hash table)或者關(guān)聯(lián)數(shù)組(associative array)。

JSONObject依賴:

最后一行需要保留(不可修改為8或1.8),有兩個(gè)jdk版本的實(shí)現(xiàn):json-lib-2.4-jdk13.jar和json-lib-2.4-jdk15.jar

pom(本文所有代碼僅使用這一個(gè)依賴即可):

net.sf.json-lib

json-lib

2.4

jdk15

json-lib依賴時(shí)報(bào)錯(cuò)的文章參考鏈接:https://blog.csdn.net/xijinno1/article/details/128722034?spm=1001.2014.3001.5502

JSONObject

先了解JSONObject是什么?

JSONObject是一種數(shù)據(jù)結(jié)構(gòu),可以理解為JSON格式的數(shù)據(jù)結(jié)構(gòu)(key-value結(jié)構(gòu)),可以使用put方法給json對(duì)象添加元素。JSONObject可以很方便的轉(zhuǎn)換成字符串,也可以很方便的把其他對(duì)象轉(zhuǎn)換成JSONObject對(duì)象。

再繼續(xù)說(shuō)明JSONObject

代碼:

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

public class Demo {
    public static void main(String[] args) {

        //創(chuàng)建JSONObject
        JSONObject json = new JSONObject();
        //添加屬性
        json.put("username", "張三");
        json.put("password", "123");
        //打印
        System.out.println(json);

        //增加屬性
        json.element("sex", "男");
        json.put("age", 18);
        System.out.println(json);

        //根據(jù)key返回
        System.out.println(json.get("sex"));

        //判斷輸出對(duì)象的類型
        boolean isArray = json.isArray();
        boolean isEmpty = json.isEmpty();
        boolean isNullObject = json.isNullObject();
        System.out.println("是否數(shù)組:"+isArray+", 是否空:"+isEmpty+", 是否空為空對(duì)象:"+isNullObject);

        System.out.println("===============================================");

        //把JSONArray添加到JSONObject中
        JSONArray jsonArray = new JSONArray();
        jsonArray.add(0, "張三");
        jsonArray.add(1, "123");
        //開始添加
        json.element("student", jsonArray);
        System.out.println(json);

    }
}

運(yùn)行結(jié)果:

JSONArray 先了解JSONArray是什么?

JSONArray是一個(gè)有序的值序列。它的外部文本形式是一個(gè)用方括號(hào)括起來(lái)的字符串,用逗號(hào)分隔值。內(nèi)部表單是具有索引的對(duì)象get和opt用于通過索引訪問值的element方法,以及用于添加或替換值的方法。它的值可以是任何這些類型的:Boolean,JSONArray,JSONObject, Number,String,或 JSONNull object。

所以JSONArray就是["tom","kate","jerry"];或者[1,2,3]

同時(shí),這里的數(shù)組json通過添加對(duì)象json可以變成數(shù)組對(duì)象json:

[{"name":"tom"},{"name":"kate"}]

再繼續(xù)說(shuō)明JSONArray

代碼:

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
 
public class Demo {
    publicstatic void main(String[] args) {
 
        //創(chuàng)建JSONArray
       JSONArray jsonArray = new JSONArray();
        //添加
       jsonArray.add(0, "張三");
       jsonArray.add(1, "123");
       jsonArray.element("男");
       System.out.println(jsonArray);
 
        //根據(jù)下標(biāo)返回輸出
       System.out.println(jsonArray.get(0));
 
        //根據(jù)下標(biāo)設(shè)置新值,修改
       jsonArray.set(0, "李四");
       System.out.println(jsonArray);
 
        //把JSONObject放入到JSONArray中
       JSONObject jsonObject = new JSONObject();
       jsonObject.put("username", "張三");
       jsonObject.put("password", "123");
       jsonArray.add(jsonObject);
       System.out.println(jsonArray);
 
        //循環(huán)輸出
        for(inti = 0; i< jsonArray.size(); i++) {
           System.out.println(jsonArray.get(i));
        }
 
    }
}

運(yùn)行結(jié)果:

JavaBean與json字符串互轉(zhuǎn) 先了解JavaBean是什么?

JavaBean是一種Java語(yǔ)言寫成的可重用組件。

所謂javaBean,是指符合如下標(biāo)準(zhǔn)的Java類:

類是公共的

有一個(gè)無(wú)參的公共的構(gòu)造器

有屬性,且有對(duì)應(yīng)的get、set方法

用戶可以使用JavaBean將功能、處理、值、數(shù)據(jù)庫(kù)訪問和其他任何可以用Java代碼創(chuàng)造的對(duì)象進(jìn)行打包,并且其他的開發(fā)者可以通過內(nèi)部的JSP頁(yè)面、Servlet、其他JavaBean、applet程序或者應(yīng)用來(lái)使用這些對(duì)象。用戶可以認(rèn)為JavaBean提供了一種隨時(shí)隨地的復(fù)制和粘貼的功能,而不用關(guān)心任何改變。

JavaBean示例

public class JavaBean {
    private String name; // 屬性一般定義為private
    private int age;

    public JavaBean() {
    }
    
    public int getAge() {
        return age;
    }
    
    public void setAge(int a) {
        age = a;
    }
    
    public String getName() {
        return name;
    }
    
    public void setName(String n) {
        name = n;
    }
}

再繼續(xù)說(shuō)明JavaBean與json字符串互轉(zhuǎn)

代碼:

student類:

public class Student {
    private String username;
    private String password;
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public Student(String username, String password) {
        super();
        this.username = username;
        this.password = password;
    }
    public Student() {
        super();
        // TODO Auto-generated constructor stub
    }
    @Override
    public String toString() {
        return "Student [username=" + username + ", password=" + password + "]";
    }
}

Demo 主類:

import net.sf.json.JSONObject;

public class Demo {
    public static void main(String[] args) {

        //定義對(duì)象
        Student stu = new Student("張三", "123456");
        //JavaBean對(duì)象轉(zhuǎn)json字符串
        JSONObject jsonObject = JSONObject.fromObject(stu);
        System.out.println(jsonObject);

        //json字符串轉(zhuǎn)為javaBean
        //定義json字符串
        String jsondata = "{\"username\":\"李四\", \"password\":\"123\"}";
        //轉(zhuǎn)為json對(duì)象
        JSONObject json = JSONObject.fromObject(jsondata);
        //轉(zhuǎn)為JavaBean對(duì)象
        Student stu2 = (Student)JSONObject.toBean(json, Student.class);
        System.out.println(stu2.toString());

    }
}

運(yùn)行結(jié)果:

List與json字符串互轉(zhuǎn) 先了解什么是 List?

什么是集合:集合就是把具有相同屬性的東西放在一起,也可以是容器,把有關(guān)的東西都放進(jìn)去

什么是List:List是位于java.util下的一個(gè)接口,有序集合(也稱為序列)。此界面的用戶可以精確控制每個(gè)元素在列表中的插入位置。用戶可以通過整數(shù)索引(列表中的位置)訪問元素,并在列表中搜索元素

再繼續(xù)說(shuō)明List與json字符串互轉(zhuǎn)

代碼:

student類:

與上述內(nèi)容一致

Demo 主類:

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

import java.util.ArrayList;
import java.util.List;

public class Demo {
    public static void main(String[] args) {

        //定義list集合
        List list = new ArrayList();
        list.add(new Student("張三", "123"));
        list.add(new Student("李四", "456"));
        //list轉(zhuǎn)json字符串
        JSONArray jsonArray = JSONArray.fromObject(list);
        System.out.println(jsonArray);

        //json字符串轉(zhuǎn)list
        List list2 = new ArrayList();
        String jsondata = "[{\"password\":\"123\",\"username\":\"張三\"},{\"password\":\"456\",\"username\":\"李四\"}]";
        JSONArray jsonArray1 = JSONArray.fromObject(jsondata);
        for(int i = 0; i< jsonArray1.size(); i++) {
            JSONObject jsonObject2 = jsonArray1.getJSONObject(i);
            Student stu2 = (Student)JSONObject.toBean(jsonObject2, Student.class);
            list2.add(stu2);
        }
        System.out.println(list2);

    }
}

運(yùn)行結(jié)果:

Map與json字符串互轉(zhuǎn) 先了解什么是 Map?

java中的map是一種依照鍵存儲(chǔ)元素的容器。在map中鍵可以是任意類型的對(duì)象。map中不能有重復(fù)的鍵,每個(gè)鍵都有一個(gè)對(duì)應(yīng)的值。

Map是一個(gè)集合,一種依照鍵(key)存儲(chǔ)元素的容器,鍵(key)很像下標(biāo),在List中下標(biāo)是整數(shù)。在Map中鍵(key)可以是任意類型的對(duì)象。Map中不能有重復(fù)的鍵(Key),每個(gè)鍵(key)都有一個(gè)對(duì)應(yīng)的值(value)。

一個(gè)鍵(key)和它對(duì)應(yīng)的值構(gòu)成map集合中的一個(gè)元素。

Map中的元素是兩個(gè)對(duì)象,一個(gè)對(duì)象作為鍵,一個(gè)對(duì)象作為值。鍵不可以重復(fù),但是值可以重復(fù)。

Map本身是一個(gè)接口,要使用Map需要通過子類進(jìn)行對(duì)象實(shí)例化。

在Map接口中有如下常用方法:

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class Demo {
    public static void main(String[] args) {

        Map map = new HashMap<>();
        map.put(1, "A");
        map.put(1, "A+");
        map.put(2, "B");
        map.put(3, "C");
        System.out.println(map);
        System.out.println(map.get(2)); //根據(jù)key取得value
        System.out.println(map.get(10)); //找不到返回null

        //取得Map中所有key信息
        Set set = map.keySet();
        Iterator iterator = set.iterator();
        while(iterator.hasNext()) {
            System.out.println(iterator.next());
        }

    }
}

注意:

(1)、key值不允許重復(fù),如果重復(fù),則會(huì)把對(duì)應(yīng)value值更新;

(2)、key和value都允許為null,key為null有且只有一個(gè)。

HashMap原理:在數(shù)據(jù)量小的(JDK1.8后閾值為8)時(shí)候,HashMap是按照鏈表的模式存儲(chǔ)的;當(dāng)數(shù)據(jù)量變大之后,為了進(jìn)行快速查找,會(huì)將這個(gè)鏈表變?yōu)榧t黑樹(均衡二叉樹)來(lái)進(jìn)行保存,用hash來(lái)進(jìn)行查找。

再繼續(xù)說(shuō)明Map與json字符串互轉(zhuǎn)

代碼:

student類:

與上述內(nèi)容一致

Demo 主類:

import net.sf.json.JSONObject;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class Demo {
    public static void main(String[] args) {

        //定義map集合
        Map map = new HashMap();
        map.put("1", new Student("張三", "123"));
        map.put("2", new Student("李四", "456"));
        //Map轉(zhuǎn)json字符串
        JSONObject jsonMap = JSONObject.fromObject(map);
        System.out.println(jsonMap);

        //定義字符串map集合
        String jsondata = "{\"1\":{\"password\":\"123\",\"username\":\"張三\"},\"2\":{\"password\":\"456\",\"username\":\"李四\"}}";
        //map集合字符串轉(zhuǎn)為map
        Map map2 = (Map)JSONObject.fromObject(jsondata);
        Set set = map2.keySet();
        //定義迭代器,迭代輸出
        Iterator ite = set.iterator();
        while(ite.hasNext()) {
            //取出一個(gè)字符串對(duì)象
            String key = (String)ite.next();
            //轉(zhuǎn)為json格式
            JSONObject jsonObject = JSONObject.fromObject(map2.get(key));
            //轉(zhuǎn)為對(duì)象
            Student stu = (Student)JSONObject.toBean(jsonObject, Student.class);
            System.out.println(key+"   "+stu);
        }

    }
}

運(yùn)行結(jié)果:

JSONArray與List互轉(zhuǎn)

代碼:

student類:

與上述內(nèi)容一致

Demo 主類:

import net.sf.json.JSONArray;
import net.sf.json.JsonConfig;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class Demo {
    public static void main(String[] args) {

        //定義list集合
        Listlist = new ArrayList();
        list.add(new Student("張三", "123"));
        list.add(new Student("李四", "456"));
        //List轉(zhuǎn)型JSONArray
        JSONArray jsonArray = JSONArray.fromObject(list);
        System.out.println(jsonArray.toString());

        //JSONArray轉(zhuǎn)型List
        Listlist2 = JSONArray.toList(jsonArray, new Student(), new JsonConfig());
        Iteratorite =  list2.iterator();
        while(ite.hasNext()) {
            Student stu = ite.next();
            System.out.println(stu);
        }

    }
}

運(yùn)行結(jié)果:

JSONArray與數(shù)組互轉(zhuǎn)

代碼:

import net.sf.json.JSONArray;
 
public class Demo {
    publicstatic void main(String[] args) {
 
        //定義數(shù)組
       boolean[] boolArray = {true, false, true};
        //java數(shù)組轉(zhuǎn)JSONArray
       JSONArray jsonArray = JSONArray.fromObject(boolArray);
       System.out.println(jsonArray.toString());
 
        //JSONArray轉(zhuǎn)java數(shù)組
        Objectobj[] = jsonArray.toArray();
       for(Object o : obj) {
           System.out.print(o+"\t");
        }
 
    }
}

運(yùn)行結(jié)果:

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

本文題目:JSONObject詳解(net.sf.json-lib)-創(chuàng)新互聯(lián)
文章路徑:http://aaarwkj.com/article36/dohjsg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、響應(yīng)式網(wǎng)站網(wǎng)站改版、網(wǎng)站維護(hù)、關(guān)鍵詞優(yōu)化外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

小程序開發(fā)
国产亚洲精品女人久久久| 亚洲精品日韩国产av| 夫妻晚上同房太猛视频| 日韩在线不卡一二三| 亚洲中文自偷自拍另类| 日本一区二区电影大全| 亚洲av少妇高潮流白浆在线| 日本韩国精品视频在线| 精品三级黄色国产片| 亚洲清纯唯美激情四射| 国偷蜜桃av一区二区三区| av蜜臀一区二区三区| 一区二区三区国产不卡| 亚洲国产精品一区二区三| 国产三级全黄在线播放| 国产我和子的乱视频亲生| 日本亚洲精品在线观看| 成人午夜福利影院在线| 免费人妻一区二区三区| 丰满人妻大屁一区二区| 成年人免费国产视频网站| a一级成人插少妇的逼| 亚洲五月综合激情综合久久| 18岁下禁止看的视频| 精品午夜人妻一区二区| 亚洲欧美综合伊人看片综合| 中文字幕精品人妻在线| 三级精品一区二区三区| 欧美日韩一区精品视频| 精品国内日本一区二区| 国产熟女一区二区三区正在| 久热视频这里只有精品99| 91在线直播观看高清| 日本av天堂中文字幕| 黄色亚洲大片免费在线观看| 久久综合激情亚洲欧美专区| 久久熟女av一区二区三区| 成人av男人天堂东京热| 九九在线免费视频蜜臀| 午夜在线免费观看小视频| 亚洲激情av在线观看|