新聞中心
這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)java中json的使用方法是什么,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
創(chuàng)新互聯(lián)是專業(yè)的廉江網(wǎng)站建設(shè)公司,廉江接單;提供成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行廉江網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
josn: 一種數(shù)據(jù)傳輸格式,與開發(fā)語言無關(guān),輕量級 一開始是javaScript的,但是后面比較流傳,幾乎所有語言都有相應(yīng)的使用API |
Object---對象
使用花括號{}包含的鍵值對結(jié)構(gòu)
Key必須是String類型,value為任何基本類型或者數(shù)據(jù)結(jié)構(gòu)(對象,或者數(shù)組)
Array---數(shù)組
使用中括號[]來起始,并用逗號,來分隔元素
基本類型:
string number true false null
例如:
{ "name" :"王小二", "age": 22, "birthday" : "1990-12-1", 注意:json里沒有Date這種時間的類型,所以用string;需要了解一下時間戳 "school" : "藍(lán)翔", "major": ["理發(fā)","挖掘機(jī)"], "has_girlfriend":false, "car": null, "house": null, "commont": "這是一個注釋" } 注意: json中沒有注釋的寫法,但是我們可以曲線救國
{ "id":"1", "author":{ "id":"1506200043", "name":"kylin", "gender":1 }, "major":["理發(fā)","挖掘機(jī)"] }
java對json有支持,在使用的時候需要引入以下包:
commons-beanutils.xxx.jar commons-collections.xxx.jar commons-lang.xxx.jar commons-logging.jar json-lib.xxx.jar ezmorph.xxx.jar
JSON字符串的常用生成方式:----------從后端發(fā)送給前端的數(shù)據(jù)
使用map來放key-value數(shù)據(jù),然后轉(zhuǎn)換成json對象--再轉(zhuǎn)換成json字符串---再發(fā)送給前端
//map(javaObject)--->jsonObject---->jsonStr ----前端 import net.sf.json.JSONObject; public void jsonStrByMap(){ //構(gòu)建map對象,并且把需要發(fā)送給前端的東西添加進(jìn)入 Mapparams=new HashMap<>(); params.put("status","200"); params.put("username","kylin"); params.put("password","123456"); params.put("sexy","male"); params.put("userID","15062"); //java對象變成json對象 JSONObject jsonObject=JSONObject.fromObject(params); //json對象轉(zhuǎn)換成json字符串 String jsonStr=jsonObject.toString(); System.out.println(jsonStr); }
使用javabean來構(gòu)建json
User.java public class User { private String username; private String password; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } } //javabean---json對象---json字符串---->前端 public void jsonStrByJavaBean(){ //創(chuàng)建一個User對象 User user=new User(); user.setUsername("kylin"); user.setPassword("123456"); //java對象轉(zhuǎn)換成json對象 JSONObject jsonObject=JSONObject.fromObject(user); //json對象轉(zhuǎn)換成json字符串 String jsonStr=jsonObject.toString(); System.out.println(jsonStr); }
從前端獲取的數(shù)據(jù)------>轉(zhuǎn)換成后端可以用的數(shù)據(jù)
json字符串轉(zhuǎn)換成java對象
//前端傳遞過來的是json字符串,那么我們對這個字符串需要進(jìn)行獲取并且處理 //json字符串-----json對象------java對象 JSONObject jsonobject = JSONObject.fromObject(jsonStr); User user=(User)JSONObject.toBean(jsonobject,User.class); //然后就通過user對象來操作了 String username=user.getUsername(); String password=user.getPassword();
json字符串轉(zhuǎn)換成map對象
JSONObject jsonobject = JSONObject.fromObject(jsonStr); Map params=(Map) jsonObject; //然后就可以通過map來操作了 //判斷是否有username字段和username字段 if (params.containsKey("username")){ System.out.println(params.get("username")); } if (params.containsKey("password")){ System.out.println(params.get("password")); }
小結(jié):
json是一種前后端的通信規(guī)范,上面介紹的是JSON(android SDK中的官方庫);一般在移動客戶端的時候使用,后續(xù)將會介紹GSON(谷歌的一個開源庫),一般用于服務(wù)端后臺的開發(fā)中,功能相對強(qiáng)大.
JSON庫的總結(jié):
功能:映射java對象和json字符串
通過Annotation注解來聲明
支持自定義屬性名稱
支持包含或排除屬性
支持自定義借口自己完成解析/生成過程
流程:
后端使用java編寫json,
前端使用javascript直接對json字符串進(jìn)行解析
android客戶端使用json類來解析
上述就是小編為大家分享的java中json的使用方法是什么了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
名稱欄目:java中json的使用方法是什么
文章網(wǎng)址:http://www.dlmjj.cn/article/gjpocs.html