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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Eclipse创建JSON文件及其他操作

發布時間:2023/12/20 javascript 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Eclipse创建JSON文件及其他操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

一、創建:

二、格式化:

三、JSON與Javascript:?

四、JSON與字符串相互轉換:

1.字符串轉JSON對象:JSON.parse()

2.JSON對象轉字符串:JSON.stringify()

五、JSON與Java交互:

六、FastJson序列化(單個對象)與Json注解:

1.序列化:JSON.toJSONString()

2.JSON注解@JSONField的使用

3.反序列化:JSON.parseObject(,)

六、JSON序列化、反序列化(集合):

1.序列化:JSON.toJSONString()

2.反序列化:JSON.parseArray(,)


一、創建:

右鍵單擊項目的WebContent——new——選擇File——寫文件名時,后綴為".json"。如下圖所示:

???

二、格式化:

選中JSON文件的內容——點擊Souce——Format(Ctrl+Shift+F)。

原來:

格式化后:

三、JSON與Javascript:

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <script type="text/javascript">var json=[{"name": "Mary","sex": 01,"job": "teacher"},{"name": "Jhon","sex": 00,"job": "manager","customers": [{"cname": "Frank"},{"cname": "Li"},{"cname": "Chen"}]}];console.log(json); //瀏覽器控制臺調試for(var i=0;i<json.length;i++){ var emp=json[i];document.write("<h1>");document.write(emp.name);document.write(","+emp.sex);document.write(","+emp.job);document.write("</h1>");if(emp.customers !=null){document.write("<h2>----");for(var j=0;j<emp.customers.length;j++){ //注意var customer=emp.customers[j];document.write(customer.cname+",");}document.write("</h2>");}} </script> </head> <body></body> </html>

四、JSON與字符串相互轉換:

JSON對象是瀏覽器內置對象,但IE8以下的版本不支持。

1.字符串轉JSON對象:JSON.parse()

發現個小問題:(ˉ▽ˉ;)...生成html文件時,選File生成的頁面不會有結構。選HTML File生成的html文件才會有結構。

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>字符串轉JSON</title><script type="text/javascript">var str="{\"class_name\":\"五年級三班\" }";//直接加""會與字符串沖突,在雙引號前加\進行原義輸出var json=JSON.parse(str);//JSON是內置對象console.log(json);console.log(str);document.write("班級:"+json.class_name);</script> </head> <body></body> </html>

上面Object表示是一個對象,可以直接使用。而下面只是一個JSON樣式的字符串,不能直接訪問。

但注意原始字符串必須是JSON樣式才能轉換!

2.JSON對象轉字符串:JSON.stringify()

<!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);var json2={}; //JSON對象的另一種初始化方式json2.class_name="五年級四班";json2.floor="四樓";json2.teacher="龔老師";console.info(json2); </script> </head> <body></body> </html>

五、JSON與Java交互:


JSON逐漸替代xml成為保存對象、數據傳輸的一個首選。

JSON工具包:把Java對象轉化為JSON 或 把JSON轉化為Java對象的第三方組件。比如有FastJson(阿里巴巴開發)、Jackson(國外老牌)、Gson(谷歌開發)、Json-lib等。

FastJson是阿里巴巴著名的JSON序列化與反序列化工具包。其在國內有大量 使用者,優點有:API簡單、效率高等。
獲取見該教程:https://blog.csdn.net/qq_43542011/article/details/118281143

六、FastJson序列化(單個對象)與Json注解:

1.序列化:JSON.toJSONString()


①Employee.java

package com.immoc.json;import java.util.Date;public class Employee {private Integer eid;private String ename;private String job;private Date date; //入職時間private Float salary;private String cname; //部門名稱public Integer getEid() {return eid;}public void setEid(Integer eid) {this.eid = eid;}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 getDate() {return date;}public void setDate(Date date) {this.date = date;}public Float getSalary() {return salary;}public void setSalary(Float salary) {this.salary = salary;}public String getCname() {return cname;}public void setCname(String cname) {this.cname = cname;}}

②FastJsonSample1.java

package com.immoc.json;import java.util.Calendar;import com.alibaba.fastjson.JSON;public class FastJsonSample1 {public static void main(String[] args) {Employee employee=new Employee();employee.setEid(01001);employee.setEname("蕭瑾瑜");employee.setJob("項目經理");employee.setSalary(20000f);employee.setCname("開發部");Calendar c=Calendar.getInstance(); //用日歷類對時間初始化c.set(2021, 5, 27, 0, 0, 0); //月份是從0開始的,這里表示6月employee.setDate(c.getTime()); //獲取日期對象// 接下來把employee轉化成JSON對象:FastJson中提供了JSON對象來完成對象與JSON字符串的互相轉化String json=JSON.toJSONString(employee); //把employee對象中所有不為空的屬性都JSON序列化System.out.println(json);}}

2.JSON注解@JSONField的使用

①結果圖中,“date”后面的一串數字是時間戳代表了從1970年到現在的毫秒數,需要以可讀方式轉換,借助JSON的注解進行格式化,修改如下:

結果如下:

②可以對鍵進行格式化:

結果:

③如果不對其中一項序列化:

結果:工資這項已消失不見

3.反序列化:JSON.parseObject(,)

六、JSON序列化、反序列化(集合):


1.序列化:JSON.toJSONString()

如圖,在包中新增名為FastJsonSample2的類

package com.immoc.json;import java.util.ArrayList; import java.util.List; import com.alibaba.fastjson.JSON;public class FastJsonSample2 {public static void main(String[] args) {List empList=new ArrayList();for (int i = 1; i <=100; i++) { //模擬100個員工Employee employee=new Employee();employee.setEid(0001+i); //加i使員工編號不重復employee.setEname("員工"+i);empList.add(employee);}String json=JSON.toJSONString(empList); //還是用toJSONString()System.out.println(json);}}

其中,當FastJSON的屬性值為null,會自動忽略輸出。

2.反序列化:JSON.parseArray(,)

在FastJsonSample2.java中增加如下的代碼:

List<Employee> emps=JSON.parseArray(json,Employee.class); //反序列化:原始的JSON數組對象轉化出一個個的Employee對象for(Employee e:emps) {System.out.println(e.getEid()+":"+e.getEname());}

總結

以上是生活随笔為你收集整理的Eclipse创建JSON文件及其他操作的全部內容,希望文章能夠幫你解決所遇到的問題。

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