java中的json_java中的json使用
josn:
一種數據傳輸格式,與開發語言無關,輕量級
一開始是javaScript的,但是后面比較流傳,幾乎所有語言都有相應的使用API
數據結構:
Object---對象
使用花括號{}包含的鍵值對結構
Key必須是String類型,value為任何基本類型或者數據結構(對象,或者數組)
Array---數組
使用中括號[]來起始,并用逗號,來分隔元素
基本類型:
string number true false null
例如:
{"name" :"王小二","age": 22,"birthday" : "1990-12-1", 注意:json里沒有Date這種時間的類型,所以用string;需要了解一下時間戳"school" : "藍翔","major": ["理發","挖掘機"],"has_girlfriend":false,"car": null,"house": null,"commont": "這是一個注釋"}
注意:
json中沒有注釋的寫法,但是我們可以曲線救國
{"id":"1","author":{"id":"1506200043","name":"kylin","gender":1},"major":["理發","挖掘機"]
}
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字符串的常用生成方式:----------從后端發送給前端的數據
1.使用map來放key-value數據,然后轉換成json對象--再轉換成json字符串---再發送給前端
//map(javaObject)--->jsonObject---->jsonStr ----前端
importnet.sf.json.JSONObject;public voidjsonStrByMap(){//構建map對象,并且把需要發送給前端的東西添加進入
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對象轉換成json字符串
String jsonStr=jsonObject.toString();
System.out.println(jsonStr);
}
2.使用javabean來構建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(){//創建一個User對象
User user=newUser();
user.setUsername("kylin");
user.setPassword("123456");//java對象轉換成json對象
JSONObject jsonObject=JSONObject.fromObject(user);//json對象轉換成json字符串
String jsonStr=jsonObject.toString();
System.out.println(jsonStr);
}
從前端獲取的數據------>轉換成后端可以用的數據
json字符串轉換成java對象
//前端傳遞過來的是json字符串,那么我們對這個字符串需要進行獲取并且處理//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字符串轉換成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"));
}
小結:
json是一種前后端的通信規范,上面介紹的是JSON(android SDK中的官方庫);一般在移動客戶端的時候使用,后續將會介紹GSON(谷歌的一個開源庫),一般用于服務端后臺的開發中,功能相對強大.
JSON庫的總結:
功能:映射java對象和json字符串
1.通過Annotation注解來聲明
2.支持自定義屬性名稱
3.支持包含或排除屬性
4.支持自定義借口自己完成解析/生成過程
流程:
后端使用java編寫json,
前端使用javascript直接對json字符串進行解析
android客戶端使用json類來解析
總結
以上是生活随笔為你收集整理的java中的json_java中的json使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java复制文件_java多种文件复制方
- 下一篇: java null 对象吗_java中n