json及JavaBean轉json

先來看看JSON:


什么是JSON:

JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。

JSON是用字符串來表示Javascript對象,例如可以在Servlet中發送一個JSON格式的字符串給客戶端Javascript,Javascript可以執行這個字符串,得到一個Javascript對象。

XML也可以用來作為數據交換,前面已經學習過在Servlet中發送XML給Javascript,然后Javascript再去解析XML。


JSON對象語法:

------數據在名稱/值對中

------數據由逗號分隔

------花括號保存對象

------方括號保存數組

var person = {"name":"zhangSan", "age":"18", "sex":"male"};
alert(person.name + ", " + person.age + ", " + person.sex);
注意,key也要在雙引號中!

JSON值:

------數字(整數或浮點數)

------字符串(在雙引號中)

------邏輯值(true 或 false)

------數組(在方括號中)

------對象(在花括號中)

------null

var person = {"name":"zhangSan", "age":"18", "sex":"male", "hobby":["cf", "sj", "ddm"] };
alert(person.name + ", " + person.age + ", " + person.sex + ", " + person.hobby);

帶有方法的JSON對象:

var person = {"name":"zhangSan", "getName":function() {return this.name;}};
alert(person.name);
alert(person.getName());

JSON與XML比較:

------可讀性:XML勝出;

------解碼難度:JSON本身就是JS對象(主場作戰),所以簡單很多;

------流行度:XML已經流行好多年,但在AJAX領域,JSON更受歡迎。



把Java對象轉換成JSON對象:

apache提供的json-lib小工具,它可以方便的使用Java語言來創建JSON字符串。也可以把JavaBean轉換成JSON字符串。


json-lib的核心jar包有:

------json-lib.jar


json-lib的依賴jar包有:

------commons-lang.jar

------commons-beanutils.jar

------commons-logging.jar

------commons-collections.jar

------ezmorph.jar


json-lib中的核心類:

在json-lib中只有兩個核心類:

------JSONObject;

------JSONArray;


JSONObject:

JSONObject類本身是一個Map,所以學習它很方便。

JSONObject jo = new JSONObject();
jo.put("name", "zhangSan");
jo.put("age", "18");
jo.put("sex", "male");
System.out.println(jo.toString()); Person person = new Person("liSi", 18, "female");
JSONObject jo = JSONObject.fromObject(person) ;
System.out.println(jo.toString());Map map = new HashMap();
map.put("name", "wangWu");
map.put("age", "81");
map.put("sex", "male");JSONObject jo = JSONObject.fromObject(map) ;
System.out.println(jo.toString());String xml = "<person><name>zhaoLiu</name><age>59</age><sex>female</sex></person>";
XMLSerializer serial = new XMLSerializer();
JSONObject jo = (JSONObject)serial.read(xml); 
System.out.println(jo.toString());

JSONArray:

JSONArray本身是一個List,所以使用起來很方便。

JSONArray ja = new JSONArray();
Person p1 = new Person("zhangSan", 18, "male");
Person p2 = new Person("liSi", 23, "female");
ja.add(p1);
ja.add(p2);System.out.println(ja.toString());Person p1 = new Person("zhangSan", 18, "male");
Person p2 = new Person("liSi", 23, "female");
List<Person> list = new ArrayList<Person>();
list.add(p1);
list.add(p2);JSONArray ja = JSONArray.fromObject(list) ;System.out.println(ja.toString());Person p1 = new Person("zhangSan", 18, "male");
Person p2 = new Person("liSi", 23, "female");
Person[] persons = {p1, p2};JSONArray ja = JSONArray.fromObject(persons) ;System.out.println(ja.toString());

JS解釋服務器發送過來的JSON字符串:

服務器發送過來JSON字符串后,客戶端需要對其進行解析。這時客戶端需要使用eval()方法對JSON字符串進行執行!但要注意,eval()方法在執行JSON時,必須把JSON字符串使用一對圓括號括起來。

var json = "{\"name\":\"zhangSan\", \"age\":\"18\", \"sex\":\"male\"}";
var person = eval("(" + json + ")");
alert(person.name + ", " + person.age + ", " + person.sex);

END

轉載于:https://www.cnblogs.com/Arry10/p/7731785.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/253694.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/253694.shtml
英文地址,請注明出處:http://en.pswp.cn/news/253694.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

數字后端——低功耗設計物理實施

一、低功耗設計方案綜述 為了實現集成電路的低功耗設計目標&#xff0c;我們需要在系統設計階段就采用低功耗設計方案&#xff0c;因為隨著設計流程的逐步推進&#xff0c;到了芯片設計實現階段&#xff0c;降低芯片功耗的方法將越來越少&#xff0c;可節省功耗的百分比將不斷下…

Eclipse里修改SVN的用戶名和密碼

刪除Eclipse subclipse plugin中記住的SVN用戶名密碼&#xff1a; 1&#xff09; 查看你的Eclipse中使用的是什么SVN Interface windows > preference > Team > SVN #SVN Interface 2.&#xff09;如果是用的JavaHL, 找到以下目錄并刪除auth目錄. 刪除C:\Users\…

Omap3530 的GPIO中斷設置

Omap3530 的GPIO中斷設置&#xff1a; 1.配置成GPIO&#xff0c;申請GPIO中斷 omap_cfg_reg(OMAP3_KBD_GPIO);配置成gpio if (gpio_request(OMAP3_KBD_GPIO, "kbd7279 IRQ") < 0) printk(KERN_ERR "Failed to request GPIO%d for kbd IRQ/n");//申請GPI…

H5項目開發分享——用Canvas合成文字

以前曾用Canvas合成、裁剪、圖片等《用H5中的Canvas等技術制作海報》。這次用Canvas來畫文字。 下圖中“老王考到駕照后”這幾個字是畫在Canvas上的&#xff0c;與在PS中打入的字非常接近&#xff0c;毫無違和感。 前面一段時間也在研讀JavaScript設計模式相關的知識&#xff0…

SQLServer約束介紹

約束定義 對于數據庫來說&#xff0c;基本表的完整性約束分為列級約束條件和表級約束條件&#xff1a; 列級約束條件 列級約束條件是對某一個特定列的約束&#xff0c;包含在列定義中&#xff0c;可以直接跟在該列的其他定義之后&#xff0c;用空格分隔&#xff0c;不用指定列名…

CMOS圖像傳感器——SNR計算

圖像質量評價在計算機視覺,人工智能,高清視頻傳輸上面有很廣泛的應用。目前,圖像質量評價主要分為三個方向,有參考圖像的質量評價,半參考的圖像質量評價,以及無參考的圖像質量評價。許多時候,我們利用CIS采集的RAW DATA本身就是含噪信號,因為我們往往不知道感興趣的像素…

Java this 關鍵字的用法

this 關鍵字的用法 this 在類中就是代表當前對象&#xff0c;可以通過 this 關鍵字完成當前 對象的成員屬性、成員方法和構造方法的調用。 那么何時用 this? 當在定義類中的方法時&#xff0c;如果需要調用該類對象&#xff0c;就可以用 this 來表示這個對象。也就是說&#x…

TMDS——最小化傳輸差分信號及其協議

過渡調制差分信號&#xff0c;也被稱為最小化傳輸差分信號&#xff0c;是指通過異或及異或非等邏輯算法將原始信號數據轉換成10位&#xff0c;前8為數據由原始信號經運算后獲得&#xff0c;第9位指示運算的方式&#xff0c;第10位用來對應直流平衡&#xff08;DC-balanced&…

順大勢逆小勢策略之代碼實現及可行性分析

閱讀原文&#xff1a;quant.la/Article/Vie… 前言 資產配置多元化是投資的唯一免費午餐 —— 馬克維茨。 在市場中有兩種策略&#xff1a;趨勢策略和震蕩策略。趨勢追蹤策略的特點在大行情的波動段找到有效的交易信號。而震蕩策略則是一種反趨勢策略&#xff0c;一波大幅上漲后…

數字圖像處理——中值濾波及其改進算法

一、算法介紹 中值濾波器是非線性濾波器的一個例子&#xff0c;它在保留圖像特征方面非常有效。 但是&#xff0c;濾波器的窗口大小直接影響中值濾波器的性能。 較小的窗口保留了特征&#xff0c;但會導致噪聲抑制的減少。 在較大窗口的情況下&#xff0c;噪聲抑制很高&#xf…

Spring整合web開發

正常整合Servlet和Spring沒有問題的 public class UserServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {ApplicationContext applicationContext new ClassPathXmlApplica…

環信快速集成,以及實際集成中遇到的坑

一.pod集成遇到的問題 1.直接pod 安裝 pod EaseUI, :git > https://github.com/easemob/easeui-ios-hyphenate-cocoapods.git 在這個過程中&#xff0c;如果你pod已經安裝了sdwebimage&#xff0c;mjrefresh等他自身包含的三方&#xff0c;就需要在你的podfile里面把這個給刪…

PAFF 和MBAFF

PAFF 和MBAFF&#xff1a;當對隔行掃描圖像進行編碼時&#xff0c;每幀包括兩個場&#xff0c;由于兩個場之間存在較大的掃描間隔&#xff0c;這樣&#xff0c;對運動圖像來說&#xff0c;幀中相鄰兩行之間的空間相關性相對于逐行掃描時就會減小&#xff0c;因此這時對兩個場分…

Test435678

2345魚57洋炮456789轉載于:https://www.cnblogs.com/rhxuza1993/p/9534938.html

用NPOI從DataBase到Excel '2

NPOI的C# Helper代碼2 1 public static MemoryStream ExportXls(DataTable dt)2 {3 HSSFWorkbook wk new HSSFWorkbook();4 ISheet sheet null;5 6 string sheetName "Sheet1";7 if (!string.Is…

CMOS圖像傳感器——噪聲模型

由于CMOS圖像傳感噪聲的復雜性和不可控性,學者們一直在尋求一種能對其比較精確表的噪聲模型。在圖像降噪領域,為了降低算法設計的復雜度,人們普遍采用基于信道相關噪聲的模型(即加性噪聲),但其缺點就是不能精確地表示傳感器的噪聲。于是Hirakawa提出了一 種精確CMOS傳感器…

????TCp傳輸粘包問題

解決TCP網絡傳輸“粘包”問題 當前在網絡傳輸應用中&#xff0c;廣泛采用的是TCP/IP通信協議及其標準的socket應用開發編程接口&#xff08;API&#xff09;。TCP/IP傳輸層有兩個并列的協 議&#xff1a;TCP和UDP。其中TCP&#xff08;transport control protocol&#xff0c;傳…

AtomicIntegerArray和AtomicIntegerFieldUpdater

2019獨角獸企業重金招聘Python工程師標準>>> AtomicIntegerArray 對int數組中元素的操作不是原子性的&#xff0c;所以存在并發操作時&#xff0c;我們應該使用AtomicIntegerArray類來代替int數組。 下面是驗證演示代碼&#xff1a; public class AtomicIntegerArra…

CMOS圖像傳感器——高動態范圍

動態范圍是CMOS 圖像傳感器中很重要的一項評價指標。動態范圍指示了CMOS 圖像傳感器能夠在同一幀圖像中同時探測到的最大光強信號和最小光強信號的范圍。動態范圍通常用dB 形式來表示,其計算公式如下 其中Pmax 和Pmin 分別是最大非飽和光強與最小可探測光強。對于線性…

鍵盤綁定

1.理論: 從擊鍵到內核,前后的執行情況,之間沒有必然關聯 按鍵->csrss.exe->win32!RawInputThread->win32k!OpenDevice->ZwCreateFile->NtCreateFile->ntIopParseDevice->nt!IoGetAttachedDevice ->IoAllocateIrp->nt!ObCreateObject->nt!IopfCal…