日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

【JSON快速入门】使得XML被人们淘汰的技术,你还不知道?

發布時間:2023/12/14 asp.net 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【JSON快速入门】使得XML被人们淘汰的技术,你还不知道? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

首先大家要知道JSON是一種輕量級的數據交換格式,類似與之前的XML,那么我們學習過了XML了為什么還要學習JSON呢?是因為JSON太過于火熱使得XML被人淘汰了哈哈哈。

往期好文推薦: 【EL與JSTL表達式】學習JSP之后,這是你不得不知道的技術

直接使得XML被淘汰了,那么這個JSON的重要性不言而喻了,我們正式開始學習!

目錄

  • 前言
  • 初識JSON
    • JSON語法規則
    • 創建JSON文件
  • JSON與Java Script交互
    • Java Script訪問JSON
    • JS中將字符串轉換為JSON
    • JS中將JSON對象轉化為字符串
  • JSON與Java交互
    • 環境準備
    • FastJSON對象序列化與反序列化
    • FastJSON對象數組序列化與反序列化
  • 結語

初識JSON

JSON:全稱為JavaScript Object Notation(JavaScript 對象表示法),是輕量級的文本數據交換格式。

JSON 是存儲和交換文本信息的語法,類似 XML。

JSON 比 XML 更小、更快,更易解析。這也是JSON能取代XML的原因之一。

JSON語法規則

JSON是一種格式,那么它的核心就是它自己的語法規則了。

JSON語法格式:

(1)數據由鍵(key)/值(value)描述,由逗號分隔。
(2)大括號代表一個完整對象,可擁有多個鍵值對。
(3)中括號保存數組,多個對象之間使用逗號分隔。

如下就是一個使用JSON語法構成的數據:

{"sites":[{"name" : "CSDN", "url" : "www.csdn.com"},{"name" : "百度", "url" : "www.baidu.com"}] }

創建JSON文件

我們創建一個JSON也是非常簡單的,直接右擊項目的源碼目錄,選擇創建File(文件)即可,最后把后綴名改為.json即可。


之后進行編寫即可如下:

[{"empno": 7369,"ename": "小明","job": "軟件工程師","hiredate": "2017-04-12","salary": 13000,"dname": "研發部"}, {"empno": 7499,"ename": "王樂","job": "算法工程師","hiredate": "2017-05-12","salary": 19000,"dname": "研發部","customers": [{"cname": "秋冬"},{"cname": "傻狗"}]}]

寫完之后可能有點長,我們給他進行格式化:

右擊當前頁面找到Source,然后在Source中找到Format點擊即可。

就會發現頁面格式變為:


除此之外我們還可以按快捷鍵來進行格式化:Ctrl + Shift + F

JSON與Java Script交互

之前就說過了JSON的全稱為JavaScript Object Notation(JavaScript 對象表示法),這里有JavaScript,其實最早開始JSON就是專門為JavaScript來提供服務的,但是后來太好用了所以就慢慢對所有語言都可用了。

這里得說一下JSON是獨立于語言的。

JSON 獨立于語言:JSON 使用 Javascript語法來描述數據對象,但是 JSON 仍然獨立于語言和平臺。JSON 解析器和 JSON 庫支持許多不同的編程語言。 目前非常多的動態(PHP,JSP,.NET)編程語言都支持JSON。

Java Script訪問JSON

那么我們該如何使用JavaScript來訪問JSON呢?

因為JSON是使用Javascript語法來描述數據對象的,所以JSON 文本格式在語法上與創建 JavaScript 對象的代碼相同。

所以JavaScript 程序能夠使用內建的 eval() 函數,用 JSON 數據來生成原生的 JavaScript 對象。

接下來我們直接在HTML頁面里,寫一個JavaScript 代碼塊,在JavaScript 代碼塊里面來創建JSON數據對象,并對其進行輸出。

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <script type="text/javascript">var json = [{"empno": 7369,"ename": "小明","job": "軟件工程師","hiredate": "2017-04-12","salary": 13000,"dname": "研發部"},{"empno": 7499,"ename": "王樂","job": "算法工程師","hiredate": "2017-05-12","salary": 19000,"dname": "研發部","customers": [{"cname": "秋冬"},{"cname": "大力"}]}];//在瀏覽器控制臺對json內容進行輸出console.log(json);//在瀏覽器頁面進行輸出for(var i = 0; i < json.length; i ++) {var emp = json[i];document.write("<h1>")document.write(emp.empno);document.write("," + emp.ename);document.write("," + emp.job);document.write("," + emp.salary);document.write("," + emp.dname);document.write("</h1>") //因為customers屬性不是公有的,所以要先判斷在進行輸出if(emp.customers != null) {document.write("<h2>--")for(var j = 0; j < emp.customers.length; j++) {document.write(emp.customers[j].cname + ",");}document.write("</h2>")}} </script> </head> <body></body> </html>

我們在代碼中分別先創建了JSON數據對象,然后對其內容分別在瀏覽器控制臺與頁面進行輸出。接下來我們看一看輸出效果。

JS中將字符串轉換為JSON

在實際應用場景中我們會經常需要進行把字符串轉化為JSON格式的數據或者是把JSON轉化為字符串進行保存。

我們先來看將字符串轉化為JSON。

使用JSON.parse()方法將字符串轉換為JSON對象

其實就是這么簡單的,我們繼續寫一個案例進行演示。

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>字符串轉JSON</title> <script type="text/javascript"> //原始字符串不能寫錯,需要與標準JSON格式相同才能進行轉換var str = "{\"class_name\":\"五年級二班\"}";var json = JSON.parse(str);console.log(json);console.log(str);document.write(json.class_name); </script> </head> <body></body> </html>

在瀏覽器頁面中的輸出:

但是這里要注意,不是所有的字符串都能轉化為JOSN對象的,這里的字符串要求是格式是JSON格式的字符串,要符合JSON語法的。

JS中將JSON對象轉化為字符串

使用JSON.stringify()方法將JSON對象轉換為字符串

其實就是這么簡單的,我們繼續寫一個案例進行演示。

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>JSON轉字符串</title> <script type="text/javascript">var json = {"class_name" : "三年級五班"};var str = JSON.stringify(json);console.info(json);console.info(str); </script> </head> <body></body> </html>

在瀏覽器進行輸出

在JS中創建JSON對象

其實我們在js中創建JSON對象還可以這樣:

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>JSON轉字符串</title> <script type="text/javascript">//創建json的新方式,當作對象一樣!var json1 = {}json1.class_name = "六年級八班";json1.teacher = "大力";console.info(json1); </script> </head> <body></body> </html>

輸出:

JSON與Java交互

之前提到了JSON是脫離與語言的,我們Java也能與JSON進行交互。接下來就來看看它們是怎么要進行交互的。

環境準備

Java中并沒有內置JSON的解析,因此使用JSON需要借助第三方類庫。
下面是幾個常用的 JSON 解析類庫:

(1)Gson: 谷歌開發的 JSON 庫,功能十分全面
(2)FastJson: 阿里巴巴開發的 JSON 庫,性能十分優秀。
(3) Jackson:社區十分活躍且更新速度很快。

我們這里選用國產的JSON解析庫FastJson。

我們首先安裝FastJson解析庫,在網上下載FastJson的jar包之后我們只需要把他復制到Web應用的WEB-INF目錄底下的lib目錄中去,就可以使用了。

FastJSON對象序列化與反序列化

序列化與反序列化其實就是,Java對象與JSON對象之間的轉換.

(1)使用JSON.toJSONString(Java對象)將Java對象轉化為JSON字符串
(2)使用 JSON.parseObject(JSON對象,要轉化為的Java類)將JSON對象轉化為Java對象

代碼演示:

我們先創建一個Java類用來創建原始數據。

public class Employee {private Integer empno;private String ename;private String job;private Date hdate;private Float salary;private String dname;public Employee() {}public Employee(Integer empno, String ename, String job, Float salary, String dname) {super();this.empno = empno;this.ename = ename;this.job = job;this.salary = salary;this.dname = dname;}public Integer getEmpno() {return empno;}public void setEmpno(Integer empno) {this.empno = empno;}public String getEname() {return ename;}public void setEname(String ename) {this.ename = ename;}public String getJob() {return job;}public void setJob(String job) {this.job = job;}public Date getHdate() {return hdate;}public void setHdate(Date hdate) {this.hdate = hdate;}public Float getSalary() {return salary;}public void setSalary(Float salary) {this.salary = salary;}public String getDname() {return dname;}public void setDname(String dname) {this.dname = dname;} }

然后創建Java類對象進行轉化:

public class FastJsonSample1 {public static void main(String[] arge) {Employee employee;employee = new Employee(1101, "大力", "經理", 10000f, "市場部");Calendar c = Calendar.getInstance();c.set(2019,0,30,0,0,0);employee.setHdate(c.getTime());//FastJSON中提供了JSON對象,完成對象與JSON字符串的相互轉換String json = JSON.toJSONString(employee);System.out.println(json);//JSON對象轉換為Java類對象Employee emp = JSON.parseObject(json,Employee.class);System.out.println(emp.getEname());} }

輸出:

我們可以看到轉化輸出都非常成功但是這個日期與我們設置的并不相同。

其實這里的日期默認為時間戳-從1970到設置日期的毫秒數,我們可以使用注解來解決這個問題。

我們在創建類的日期屬性上面增加注解設置格式:

@JSONField(format = "yyyy-MM-dd HH:mm:ss")


再來看輸出:

正常輸出了。

FastJSON對象數組序列化與反序列化

剛才是單個 FastJSON對象序列化與反序列化,但是在平時的真實應用場景中,往往是很多的JSON對象與Java對象之間進行轉換,或者是很多的Java對象與JSON對象進行轉化的。

那么我們又該如何讓進行轉化呢?

(1)依然使用JSON.toJSONString(Java對象)將Java對象轉化為JSON字符串
(2)使用 JSON.parseArray(JSON對象,要轉化為的Java類)將JSON對象轉化為Java對象

代碼演示:

public class FastJsonSample2 {public static void main(String[] arge) {List emplist = new ArrayList();//使用循環創建對象組for(int i = 0; i < 50; i ++) {Employee employee = new Employee();employee.setEmpno(1012 + i);employee.setEname("員工" + i);emplist.add(employee);}//可以把數組,集合,List轉換為JSON數組String json = JSON.toJSONString(emplist);System.out.println(json);//反序列化,將JSON轉換為Java對象List<Employee> emps = JSON.parseArray(json, Employee.class);for(Employee e : emps) {System.out.println(e.getEname() + ":" + e.getEmpno());}} }

輸出:

結語

JSON代替了XML,成為了當下使用最廣泛的一門技術之一。我們應該對其在學習階段好好練習掌握,以便在工作中熟練運用。

本專欄持續更新中…

總結

以上是生活随笔為你收集整理的【JSON快速入门】使得XML被人们淘汰的技术,你还不知道?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: jizz黑人| 中文字幕第15页 | 亚洲美女性视频 | 久草视频手机在线观看 | 精东传媒在线 | 久久99精品国产91久久来源 | 少妇高潮21p | 国产第三页 | 台湾佬美性中文娱乐网 | 国产伦精品一区二区三区视频1 | 人妻视频一区 | 伊人影院中文字幕 | 中文字幕资源站 | 国产精品剧情av | 欧美s码亚洲码精品m码 | 黄色大片视频 | 99亚洲国产精品 | 日本黄色录像片 | 亚洲 欧美 成人 | 全国男人的天堂网 | 欧美性猛交xxxx免费看久久久 | 伊人久久五月天 | 国产原创视频在线 | 火影黄动漫免费网站 | 精品麻豆av | 婷婷亚洲五月色综合 | 久久精品国产99国产 | 色哒哒影院 | 男女插孔视频 | 网站国产 | 日本女人黄色片 | 99久久精品国产一区二区成人 | 日日噜噜夜夜爽爽 | 亚洲国产免费看 | 日本中文字幕久久 | 亚洲综合激情 | 操丝袜少妇| 成人激情视频网站 | 97视频一区 | 天天拍夜夜爽 | www.sesehu| 黄色天堂av | 成人福利一区二区 | 午夜精品国产精品大乳美女 | 91在线一区二区三区 | 日韩啪| 国产又粗又黄又爽 | 日韩成人精品一区二区三区 | 久久激情小说 | 日韩亚洲欧美一区 | 日韩黄色在线 | 国产一区二区三区久久久 | 在线观看黄色的网站 | 无码人妻一区二区三区精品视频 | 国产午夜福利在线播放 | 一级片aaaaa 国产又黄又粗又猛又爽 | 欧美一区二区在线视频观看 | 免费观看成年人视频 | 亚洲综合激情另类小说区 | 黄网www| 一级视频在线播放 | 性做久久久久久久免费看 | 日韩美女黄色 | 懂色av蜜臀av粉嫩av分享吧 | 天天综合av| 日本偷拍一区 | 婷婷在线网 | 91精品91久久久中77777 | 香蕉视频在线播放 | 欧美精品欧美极品欧美激情 | 日韩黄色精品视频 | 无码久久精品国产亚洲av影片 | 免费观看成人毛片 | 色综合网站 | 五月婷婷天 | aa视频在线观看 | 亚洲成人第一 | 四虎成人在线观看 | 麻豆精品久久久久久久99蜜桃 | 91理论片午午伦夜理片久久 | 中文字幕欧美另类精品亚洲 | 天天插夜夜爽 | 亚洲精品视频在线 | 中文字幕免费高清在线 | 欧美日韩大片 | 禁久久精品乱码 | 亚瑟av | 欧美在线观看视频一区二区 | 亚洲人女屁股眼交6 | 一级毛片黄片 | 日韩免费av一区 | 97影音| 国产少女免费观看高清 | 啪啪网站大全 | 日韩欧美亚洲天堂 | 亚洲av色区一区二区三区 | av成人免费观看 | 亚洲欧美中日韩 | 欧美日韩免费一区二区 |