内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

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

簡介

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

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

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

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

JSONObject依賴:

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

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

net.sf.json-lib

json-lib

2.4

jdk15

json-lib依賴時報錯的文章參考鏈接: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對象添加元素。JSONObject可以很方便的轉(zhuǎn)換成字符串,也可以很方便的把其他對象轉(zhuǎn)換成JSONObject對象。

再繼續(xù)說明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"));

        //判斷輸出對象的類型
        boolean isArray = json.isArray();
        boolean isEmpty = json.isEmpty();
        boolean isNullObject = json.isNullObject();
        System.out.println("是否數(shù)組:"+isArray+", 是否空:"+isEmpty+", 是否空為空對象:"+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);

    }
}

運行結(jié)果:

JSONArray 先了解JSONArray是什么?

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

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

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

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

再繼續(xù)說明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ù)下標返回輸出
       System.out.println(jsonArray.get(0));
 
        //根據(jù)下標設(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));
        }
 
    }
}

運行結(jié)果:

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

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

所謂javaBean,是指符合如下標準的Java類:

類是公共的

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

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

用戶可以使用JavaBean將功能、處理、值、數(shù)據(jù)庫訪問和其他任何可以用Java代碼創(chuàng)造的對象進行打包,并且其他的開發(fā)者可以通過內(nèi)部的JSP頁面、Servlet、其他JavaBean、applet程序或者應(yīng)用來使用這些對象。用戶可以認為JavaBean提供了一種隨時隨地的復(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ù)說明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) {

        //定義對象
        Student stu = new Student("張三", "123456");
        //JavaBean對象轉(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對象
        JSONObject json = JSONObject.fromObject(jsondata);
        //轉(zhuǎn)為JavaBean對象
        Student stu2 = (Student)JSONObject.toBean(json, Student.class);
        System.out.println(stu2.toString());

    }
}

運行結(jié)果:

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

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

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

再繼續(xù)說明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);

    }
}

運行結(jié)果:

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

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

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

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

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

Map本身是一個接口,要使用Map需要通過子類進行對象實例化。

在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ù),則會把對應(yīng)value值更新;

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

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

再繼續(xù)說明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()) {
            //取出一個字符串對象
            String key = (String)ite.next();
            //轉(zhuǎn)為json格式
            JSONObject jsonObject = JSONObject.fromObject(map2.get(key));
            //轉(zhuǎn)為對象
            Student stu = (Student)JSONObject.toBean(jsonObject, Student.class);
            System.out.println(key+"   "+stu);
        }

    }
}

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

    }
}

運行結(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");
        }
 
    }
}

運行結(jié)果:

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

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

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

廣告

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

小程序開發(fā)
荣昌县| 雷州市| 丹江口市| 扎兰屯市| 奉新县| 聂拉木县| 旬阳县| 新巴尔虎右旗| 义马市| 屏东市| 海口市| 太原市| 崇阳县| 长泰县| 金乡县| 石城县| 固始县| 比如县| 台前县| 东丽区| 大邑县| 且末县| 无锡市| 咸宁市| 丹东市| 南阳市| 禄劝| 阳信县| 五河县| 从化市| 宁武县| 铜山县| 久治县| 尼玛县| 封开县| 墨脱县| 紫金县| 泸州市| 田林县| 辽阳县| 沁源县|