日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Java中使用json具體方法

JSON(JavaScript Object Notation) 是一種輕量級(jí)的數(shù)據(jù)交換格式。 易于人閱讀和編寫。同時(shí)也易于機(jī)器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition – December 1999的一個(gè)子集。 JSON采用完全獨(dú)立于語言的文本格式,但是也使用了類似于C語言家族的習(xí)慣(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 這些特性使JSON成為理想的數(shù)據(jù)交換語言。

站在用戶的角度思考問題,與客戶深入溝通,找到石首網(wǎng)站設(shè)計(jì)與石首網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站制作、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、國際域名空間、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋石首地區(qū)。

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

Object—對象

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

Array—數(shù)組

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

基本類型:

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

使用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)入
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);
}

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

JSON庫的總結(jié):

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

  1. 通過Annotation注解來聲明
  2. 支持自定義屬性名稱
  3. 支持包含或排除屬性
  4. 支持自定義借口自己完成解析/生成過程

流程:

  1. 后端使用java編寫json,
  2. 前端使用javascript直接對json字符串進(jìn)行解析
  3. android客戶端使用json類來解析

名稱欄目:Java中使用json具體方法
鏈接分享:http://www.5511xx.com/article/djgshph.html