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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java中的json_java中的json使用

發(fā)布時(shí)間:2024/1/23 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java中的json_java中的json使用 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

josn:

一種數(shù)據(jù)傳輸格式,與開發(fā)語言無關(guān),輕量級

一開始是javaScript的,但是后面比較流傳,幾乎所有語言都有相應(yīng)的使用API

數(shù)據(jù)結(jié)構(gòu):

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這種時(shí)間的類型,所以用string;需要了解一下時(shí)間戳"school" : "藍(lán)翔","major": ["理發(fā)","挖掘機(jī)"],"has_girlfriend":false,"car": null,"house": null,"commont": "這是一個(gè)注釋"}

注意:

json中沒有注釋的寫法,但是我們可以曲線救國

{"id":"1","author":{"id":"1506200043","name":"kylin","gender":1},"major":["理發(fā)","挖掘機(jī)"]

}

java對json有支持,在使用的時(shí)候需要引入以下包:

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ù)

1.使用map來放key-value數(shù)據(jù),然后轉(zhuǎn)換成json對象--再轉(zhuǎn)換成json字符串---再發(fā)送給前端

//map(javaObject)--->jsonObject---->jsonStr ----前端

importnet.sf.json.JSONObject;public voidjsonStrByMap(){//構(gòu)建map對象,并且把需要發(fā)送給前端的東西添加進(jìn)入

Map params=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);

}

2.使用javabean來構(gòu)建json

User.javapublic classUser {privateString username;privateString password;publicString getUsername() {returnusername;

}public voidsetUsername(String username) {this.username =username;

}publicString getPassword() {returnpassword;

}public voidsetPassword(String password) {this.password =password;

}

}//javabean---json對象---json字符串---->前端

public voidjsonStrByJavaBean(){//創(chuàng)建一個(gè)User對象

User user=newUser();

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字符串,那么我們對這個(gè)字符串需要進(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中的官方庫);一般在移動客戶端的時(shí)候使用,后續(xù)將會介紹GSON(谷歌的一個(gè)開源庫),一般用于服務(wù)端后臺的開發(fā)中,功能相對強(qiáng)大.

JSON庫的總結(jié):

功能:映射java對象和json字符串

1.通過Annotation注解來聲明

2.支持自定義屬性名稱

3.支持包含或排除屬性

4.支持自定義借口自己完成解析/生成過程

流程:

后端使用java編寫json,

前端使用javascript直接對json字符串進(jìn)行解析

android客戶端使用json類來解析

總結(jié)

以上是生活随笔為你收集整理的java中的json_java中的json使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。