真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java中json的使用方法是什么-創(chuàng)新互聯(lián)

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)java中json的使用方法是什么,文章內(nèi)容豐富且以專(zhuān)業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

成都創(chuàng)新互聯(lián)公司主營(yíng)二道網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,app開(kāi)發(fā)定制,二道h5成都微信小程序搭建,二道網(wǎng)站營(yíng)銷(xiāo)推廣歡迎二道等地區(qū)企業(yè)咨詢(xún)
josn:
    一種數(shù)據(jù)傳輸格式,與開(kāi)發(fā)語(yǔ)言無(wú)關(guān),輕量級(jí)
    一開(kāi)始是javaScript的,但是后面比較流傳,幾乎所有語(yǔ)言都有相應(yīng)的使用API
數(shù)據(jù)結(jié)構(gòu):


Object---對(duì)象

  使用花括號(hào){}包含的鍵值對(duì)結(jié)構(gòu)
  Key必須是String類(lèi)型,value為任何基本類(lèi)型或者數(shù)據(jù)結(jié)構(gòu)(對(duì)象,或者數(shù)組)

Array---數(shù)組

  使用中括號(hào)[]來(lái)起始,并用逗號(hào),來(lái)分隔元素

基本類(lèi)型:

   string number true false null
例如:

{
  "name" :"王小二",
  "age": 22,
  "birthday" : "1990-12-1", 注意:json里沒(méi)有Date這種時(shí)間的類(lèi)型,所以用string;需要了解一下時(shí)間戳
  "school" : "藍(lán)翔",
  "major": ["理發(fā)","挖掘機(jī)"],
  "has_girlfriend":false,
  "car": null,
  "house": null,
  "commont": "這是一個(gè)注釋"
}
注意:
json中沒(méi)有注釋的寫(xiě)法,但是我們可以曲線(xiàn)救國(guó)
{
    "id":"1",
    "author":{
        "id":"1506200043",
        "name":"kylin",
        "gender":1
    },
    "major":["理發(fā)","挖掘機(jī)"]
}

java對(duì)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ù)

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

//map(javaObject)--->jsonObject---->jsonStr ----前端
import net.sf.json.JSONObject;
public void jsonStrByMap(){
//構(gòu)建map對(duì)象,并且把需要發(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對(duì)象變成json對(duì)象
JSONObject jsonObject=JSONObject.fromObject(params);
//json對(duì)象轉(zhuǎn)換成json字符串
String jsonStr=jsonObject.toString();
System.out.println(jsonStr);
}

使用javabean來(lái)構(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對(duì)象---json字符串---->前端
public void jsonStrByJavaBean(){
//創(chuàng)建一個(gè)User對(duì)象
User user=new User();
user.setUsername("kylin");
user.setPassword("123456");
//java對(duì)象轉(zhuǎn)換成json對(duì)象
JSONObject jsonObject=JSONObject.fromObject(user);
//json對(duì)象轉(zhuǎn)換成json字符串
String jsonStr=jsonObject.toString();
System.out.println(jsonStr);
}

從前端獲取的數(shù)據(jù)------>轉(zhuǎn)換成后端可以用的數(shù)據(jù)

json字符串轉(zhuǎn)換成java對(duì)象

//前端傳遞過(guò)來(lái)的是json字符串,那么我們對(duì)這個(gè)字符串需要進(jìn)行獲取并且處理
//json字符串-----json對(duì)象------java對(duì)象
JSONObject jsonobject = JSONObject.fromObject(jsonStr);
User user=(User)JSONObject.toBean(jsonobject,User.class);
//然后就通過(guò)user對(duì)象來(lái)操作了
String username=user.getUsername();
String password=user.getPassword();

json字符串轉(zhuǎn)換成map對(duì)象

JSONObject jsonobject = JSONObject.fromObject(jsonStr);
Map params=(Map) jsonObject;
//然后就可以通過(guò)map來(lái)操作了
//判斷是否有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中的官方庫(kù));一般在移動(dòng)客戶(hù)端的時(shí)候使用,后續(xù)將會(huì)介紹GSON(谷歌的一個(gè)開(kāi)源庫(kù)),一般用于服務(wù)端后臺(tái)的開(kāi)發(fā)中,功能相對(duì)強(qiáng)大.
  

JSON庫(kù)的總結(jié):

功能:映射java對(duì)象和json字符串

  1. 通過(guò)Annotation注解來(lái)聲明

  2. 支持自定義屬性名稱(chēng)

  3. 支持包含或排除屬性

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

流程:

  1. 后端使用java編寫(xiě)json,

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

  3. android客戶(hù)端使用json類(lèi)來(lái)解析

上述就是小編為大家分享的java中json的使用方法是什么了,如果剛好有類(lèi)似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道。


標(biāo)題名稱(chēng):java中json的使用方法是什么-創(chuàng)新互聯(lián)
標(biāo)題URL:http://weahome.cn/article/cdojdh.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部