欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺析Java中JSONObject和JSONArray使用

 更新時間:2016年06月03日 10:25:07   作者:A_山水子農(nóng)  
這篇文章主要介紹了Java中JSONObject和JSONArray使用的相關(guān)資料,需要的朋友可以參考下

廢話不多說,先給大家貼代碼,具體代碼如下所示:

import net.sf.json.JSONArray; 
import net.sf.json.JSONObject; 
import java.util.*; 
public class JavaTest { 
public static void main(String[] args){ 
JSONObject obj=new JSONObject(); 
obj.put("derek","23"); 
obj.put("dad", "49"); 
obj.put("mom", "45"); 
System.out.println("通過構(gòu)造器的方式創(chuàng)建的JSONObject對象:"+obj); 
Map<string,string> map=new LinkedHashMap<>(); 
map.put("derek","23"); 
map.put("dad", "49"); 
map.put("mom", "45"); 
System.out.println("通過fromObject方法將map對象轉(zhuǎn)換為JSONObject對象:"+JSONObject.fromObject(map)); 
JSONArray arr=new JSONArray(); 
arr.add(0,"derek"); 
arr.add(1,"dad"); 
arr.add(2,"mom"); 
System.out.println("通過構(gòu)造器的方式創(chuàng)建的JSONArray:"+arr); 
ArrayList list=new ArrayList<>(); 
list.add("derek"); 
list.add("dad"); 
list.add("mom"); 
System.out.println("通過fromObject方法將Arraylist對象轉(zhuǎn)換為JSONArray對象:"+JSONArray.fromObject(list)); 
System.out.println("將HashMap對象通過fromObject方法轉(zhuǎn)換為JSONArray對象"+JSONArray.fromObject(map)); 
String str="{\"derek\":23,\"dad\":49,\"mom\":45}"; 
System.out.println("解析之后的JSON對象:"+JSONObject.fromObject(str)); 
//遍歷輸出 
Iterator it=obj.keys(); 
while(it.hasNext()){ 
String key=it.next(); 
System.out.println(key+":"+obj.get(key)); 
} 
} 
} 

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

通過構(gòu)造器的方式創(chuàng)建的JSONObject對象:{"derek":"23","dad":"49","mom":"45"}

通過fromObject方法將map對象轉(zhuǎn)換為JSONObject對象:{"derek":"23","dad":"49","mom":"45"}

通過構(gòu)造器的方式創(chuàng)建的JSONArray:["derek","dad","mom"]

通過fromObject方法將Arraylist對象轉(zhuǎn)換為JSONArray對象:["derek","dad","mom"]

將HashMap對象通過fromObject方法轉(zhuǎn)換為JSONArray對象[{"derek":"23","dad":"49","mom":"45"}]

解析之后的JSON對象:{"derek":23,"dad":49,"mom":45}

derek:23
dad:49
mom:45

Java List是個集合接口,只要是集合類接口都會有個“迭代子”( Iterator ),利用這個迭代子,就可以對list內(nèi)存的一組對象進(jìn)行操作。 所有要想操作這個list內(nèi)存的東西,就首先要得到此迭代子的實(shí)例:Iterator it=l.iterator();

用add()方法即可添加新的成員對象,他可以添加的僅僅只能為對象,不能添加基本數(shù)據(jù)類型,容器還對應(yīng)get(),remove()方法來獲取和刪除數(shù)據(jù)成員

實(shí)例1.

import java.util.*; 
public class ArrayListTest{ 
public static void main(String dd[]){ 
//new了一個存儲list 
List l=new ArrayList(); 
//因?yàn)镃ollection framework只能存儲對象所以new封裝類 
l.add(new Integer(1)); 
l.add(new Integer(2)); 
l.add(new Integer(3)); 
l.add(new Integer(4)); 
Iterator it=l.iterator(); 
//hasNext是取值取的是當(dāng)前值.他的運(yùn)算過程是判斷下個是否有值如果有繼續(xù). 
while(it.hasNext()){ 
//設(shè)it.next封裝類,調(diào)用Integer的intValue方法返回值為int賦給i; 
int i=((Integer)it.next()).intValue(); 
System.out.println("Element in list is : "+i);}}} 

ArrayList list = new ArrayList() 和List<String> list = new ArrayList<String>() 的區(qū)別??

1、存儲內(nèi)容的區(qū)別

ArrayList 可以存儲任何類型的項(xiàng)

List<類型> 只可以存儲指定類型的項(xiàng)

2、使用是否方便

List<>比ArrayList使用方便

因?yàn)樵谑褂肁rrayList內(nèi)部的值時,必須強(qiáng)制轉(zhuǎn)換才行

相信使用過ArrayList的都深有體會,因?yàn)榇娣旁贏rrayList里的值都轉(zhuǎn)換成了Object類型

3、出現(xiàn)的時間

ArrayList比List<>出現(xiàn)的時間早

List<>是C#2.0時出現(xiàn)的,且是其最強(qiáng)大的功能之一

4、所在命名空間的區(qū)別

ArrayList的命名空間是System.Collections

List<>的命名空間是System.Collections.Generic

其中Generic是泛型的意思,使用List<>也就是在使用泛型技術(shù)

5、編程中的使用頻率

大多數(shù)情況下 ArrayList可以廢棄不用,畢竟其是C#2.0之前的技術(shù)了

這一點(diǎn)從在Visual Studio中 新建一個類時便可以看出

新建一個類時,其默認(rèn)使用的命名空間有

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

顯然沒有System.Collections,因?yàn)锳rrayList的使用的確不方便

以上內(nèi)容是小編給大家介紹的Java中JSONObject和JSONArray使用知識,希望對大家有所幫助,有任何問題歡迎給我留言,小編會及時回復(fù)大家的,在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Java多線程之Callable接口的實(shí)現(xiàn)

    Java多線程之Callable接口的實(shí)現(xiàn)

    這篇文章主要介紹了Java多線程之Callable接口的實(shí)現(xiàn),Callable和Runnbale一樣代表著任務(wù),區(qū)別在于Callable有返回值并且可以拋出異常。感興趣的小伙伴們可以參考一下
    2018-08-08
  • java如何判斷一個對象是否為空對象

    java如何判斷一個對象是否為空對象

    本文主要介紹了java如何判斷一個對象是否為空對象,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Java8 Optional判空詳解(簡化判空操作)

    Java8 Optional判空詳解(簡化判空操作)

    這篇文章主要給大家介紹了關(guān)于Java8 Optional判空(簡化判空操作)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • Spring security BCryptPasswordEncoder密碼驗(yàn)證原理詳解

    Spring security BCryptPasswordEncoder密碼驗(yàn)證原理詳解

    這篇文章主要介紹了Spring security BCryptPasswordEncoder密碼驗(yàn)證原理詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • 這一次搞懂SpringMVC原理說明

    這一次搞懂SpringMVC原理說明

    這篇文章主要介紹了這一次搞懂SpringMVC原理說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • java中的hashCode方法小例子

    java中的hashCode方法小例子

    這篇文章主要介紹了java中的hashCode方法小例子,有需要的朋友可以參考一下
    2013-12-12
  • spring事物傳播propagation類別含義詳解

    spring事物傳播propagation類別含義詳解

    這篇文章主要介紹了spring事物傳播propagation類別含義詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • SpringMVC中的攔截器與異常處理機(jī)制詳解

    SpringMVC中的攔截器與異常處理機(jī)制詳解

    這篇文章主要介紹了SpringMVC中的攔截器與異常處理機(jī)制詳解,SpringMVC的攔截器類似于Servlet開發(fā)中的過濾器Filter,用于對處理器進(jìn)行預(yù)處理和后處理,需要的朋友可以參考下
    2024-01-01
  • Java?MapStruct優(yōu)雅地實(shí)現(xiàn)對象轉(zhuǎn)換

    Java?MapStruct優(yōu)雅地實(shí)現(xiàn)對象轉(zhuǎn)換

    MapSturct?是一個生成類型安全,高性能且無依賴的?JavaBean?映射代碼的注解處理器,用它可以輕松實(shí)現(xiàn)對象轉(zhuǎn)換,下面就來和大家聊聊具體操作吧
    2023-06-06
  • Java加載資源文件時的路徑問題的解決辦法

    Java加載資源文件時的路徑問題的解決辦法

    今天偶然看到一篇關(guān)于tomcat加載servlet的文章,不由得想起了java加載資源文件的路徑問題,資源文件可以使xml,properties,圖片等,可以是任何文件
    2013-04-04

最新評論