淺析Java中JSONObject和JSONArray使用
廢話不多說,先給大家貼代碼,具體代碼如下所示:
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("通過構造器的方式創(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對象轉換為JSONObject對象:"+JSONObject.fromObject(map)); JSONArray arr=new JSONArray(); arr.add(0,"derek"); arr.add(1,"dad"); arr.add(2,"mom"); System.out.println("通過構造器的方式創(chuàng)建的JSONArray:"+arr); ArrayList list=new ArrayList<>(); list.add("derek"); list.add("dad"); list.add("mom"); System.out.println("通過fromObject方法將Arraylist對象轉換為JSONArray對象:"+JSONArray.fromObject(list)); System.out.println("將HashMap對象通過fromObject方法轉換為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)); } } }
運行結果如下:
通過構造器的方式創(chuàng)建的JSONObject對象:{"derek":"23","dad":"49","mom":"45"}
通過fromObject方法將map對象轉換為JSONObject對象:{"derek":"23","dad":"49","mom":"45"}
通過構造器的方式創(chuàng)建的JSONArray:["derek","dad","mom"]
通過fromObject方法將Arraylist對象轉換為JSONArray對象:["derek","dad","mom"]
將HashMap對象通過fromObject方法轉換為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)存的一組對象進行操作。 所有要想操作這個list內(nèi)存的東西,就首先要得到此迭代子的實例:Iterator it=l.iterator();
用add()方法即可添加新的成員對象,他可以添加的僅僅只能為對象,不能添加基本數(shù)據(jù)類型,容器還對應get(),remove()方法來獲取和刪除數(shù)據(jù)成員
實例1.
import java.util.*; public class ArrayListTest{ public static void main(String dd[]){ //new了一個存儲list List l=new ArrayList(); //因為Collection 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是取值取的是當前值.他的運算過程是判斷下個是否有值如果有繼續(xù). while(it.hasNext()){ //設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 可以存儲任何類型的項
List<類型> 只可以存儲指定類型的項
2、使用是否方便
List<>比ArrayList使用方便
因為在使用ArrayList內(nèi)部的值時,必須強制轉換才行
相信使用過ArrayList的都深有體會,因為存放在ArrayList里的值都轉換成了Object類型
3、出現(xiàn)的時間
ArrayList比List<>出現(xiàn)的時間早
List<>是C#2.0時出現(xiàn)的,且是其最強大的功能之一
4、所在命名空間的區(qū)別
ArrayList的命名空間是System.Collections
List<>的命名空間是System.Collections.Generic
其中Generic是泛型的意思,使用List<>也就是在使用泛型技術
5、編程中的使用頻率
大多數(shù)情況下 ArrayList可以廢棄不用,畢竟其是C#2.0之前的技術了
這一點從在Visual Studio中 新建一個類時便可以看出
新建一個類時,其默認使用的命名空間有
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
顯然沒有System.Collections,因為ArrayList的使用的確不方便
以上內(nèi)容是小編給大家介紹的Java中JSONObject和JSONArray使用知識,希望對大家有所幫助,有任何問題歡迎給我留言,小編會及時回復大家的,在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
Spring security BCryptPasswordEncoder密碼驗證原理詳解
這篇文章主要介紹了Spring security BCryptPasswordEncoder密碼驗證原理詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-03-03Java?MapStruct優(yōu)雅地實現(xiàn)對象轉換
MapSturct?是一個生成類型安全,高性能且無依賴的?JavaBean?映射代碼的注解處理器,用它可以輕松實現(xiàn)對象轉換,下面就來和大家聊聊具體操作吧2023-06-06