導航:首頁 > IDC知識 > 伺服器返回json格式

伺服器返回json格式

發布時間:2021-02-27 02:17:27

1、如何在伺服器端傳回.json數據給客戶端

1. Android客戶端copy與伺服器端通信方式:
Android與伺服器通信通常採用HTTP通信方式和Socket通信方式,而HTTP通信方式又分get和post兩種方式。
2. 解析伺服器端返回數據的解釋:
(1).對於伺服器端來說,返回給客戶端的數據格式一般分為html、xml和json這三種格式。
(2). JSON(Javascript Object Notation)是一種輕量級的數據交換格式,相比於xml這種數據交換格式來說,因為解析xml比較的復雜,而且需要編寫大段的代碼,所以客戶端和伺服器的數據交換格式往往通過JSON來進行交換。
3. Android中,用GET和POST訪問http資源
(1).客戶端向伺服器端發送請求的時候,向伺服器端傳送了一個數據塊,也就是請求信息。
(2). GET和POST區別:
A: GET請求請提交的數據放置在HTTP請求協議頭(也就是url)中,而POST提交的數據則放在實體數據中,安全性比較高。
B: GET方式提交的數據最多隻能有1024位元組,而POST則沒有此限制。

2、ajax怎樣返回json格式數據

$.ajax({
    type : "POST",
    url : "test",//發送請求的地址。
    data : {
        'key':value
    },
    dataType : "json",//返回數據類型,可以是text 或者json
    async : false,//是否非同步處理
    success : function(obj) {//請求成功版後的回調函數。obj為伺服器權返回的數據
       //可以根據json數據結構取值
    },
    error : function(msg) {
       alert(msg.status);//獲取錯誤碼
    }
});

3、返回json格式的數據怎麼處理

使用JQ,如下示例:

<script src="../scripts/jquery-1.3.1.js" type="text/javascript"></script>  
<script type="text/javascript">  
/* 
1.json格式數據的出現,很大程度上是因為xml文檔體積大和難以解析。json文件和xml文檔一樣,也可以方便的被重用 
2.json文件非常簡潔,也便於閱讀和解析 
3.json格式的數據非常嚴格,任何一個括弧的不匹配或者缺少逗號,都會導致頁面上的腳本終止運行,甚至還會帶來其它更加嚴重的負面影響,這一點沒有xml格式的數據好 
*/  
$(function(){  
       $("#send").click(function(){  
            $.get("get3.php", {   
                        username :  $("#username").val() ,   
                        content :  $("#content").val()    
                    }, function (data, textStatus){  
                        var username = data.username;  
                        var content = data.content;  
                        var txtHtml = "<div class='comment'><h6>"+username+":</h6><p class='para'>"+content+"</p></div>";  
                        $("#resText").html(txtHtml); // 把返回的數據添加到頁面上  
                    },"json");//參數4-代表期待伺服器端返回的數據格式為json格式  
       })  
})  
</script>

4、為什麼返回的數據類型不是json

json數據格式解析我自己分為兩種;
一種是普通的,一種是帶有數組形式的;
普通形式的:
伺服器端返回的json數據格式如下:

復制代碼代碼如下:

{"userbean":{"Uid":"100196","Showname":"\u75af\u72c2\u7684\u7334\u5b50","Avtar":null,"State":1}}

分析代碼如下:

復制代碼代碼如下:

// TODO 狀態處理 500 200
int res = 0;
res = httpClient.execute(httpPost).getStatusLine().getStatusCode();
if (res == 200) {
/*
* 當返回碼為200時,做處理
* 得到伺服器端返回json數據,並做處理
* */
HttpResponse httpResponse = httpClient.execute(httpPost);
StringBuilder builder = new StringBuilder();
BufferedReader bufferedReader2 = new BufferedReader(
new InputStreamReader(httpResponse.getEntity().getContent()));
String str2 = "";
for (String s = bufferedReader2.readLine(); s != null; s = bufferedReader2
.readLine()) {
builder.append(s);
}
Log.i("cat", ">>>>>>" + builder.toString());

JSONObject jsonObject = new JSONObject(builder.toString())
.getJSONObject("userbean");
String Uid;
String Showname;
String Avtar;
String State;
Uid = jsonObject.getString("Uid");
Showname = jsonObject.getString("Showname");
Avtar = jsonObject.getString("Avtar");
State = jsonObject.getString("State");

帶數組形式的:
伺服器端返回的數據格式為:

復制代碼代碼如下:

{"calendar":
{"calendarlist":
[
{"calendar_id":"1705","title":"(\u4eb2\u5b50)ddssd","category_name":"\u9ed8\u8ba4\u5206\u7c7b","showtime":"1288927800","endshowtime":"1288931400","allDay":false},
{"calendar_id":"1706","title":"(\u65c5\u884c)","category_name":"\u9ed8\u8ba4\u5206\u7c7b","showtime":"1288933200","endshowtime":"1288936800","allDay":false}
]
}
}

分析代碼如下:

復制代碼代碼如下:

// TODO 狀態處理 500 200
int res = 0;
res = httpClient.execute(httpPost).getStatusLine().getStatusCode();
if (res == 200) {
/*
* 當返回碼為200時,做處理
* 得到伺服器端返回json數據,並做處理
* */
HttpResponse httpResponse = httpClient.execute(httpPost);
StringBuilder builder = new StringBuilder();
BufferedReader bufferedReader2 = new BufferedReader(
new InputStreamReader(httpResponse.getEntity().getContent()));
String str2 = "";
for (String s = bufferedReader2.readLine(); s != null; s = bufferedReader2
.readLine()) {
builder.append(s);
}
Log.i("cat", ">>>>>>" + builder.toString());
/**
* 這里需要分析伺服器回傳的json格式數據,
*/
JSONObject jsonObject = new JSONObject(builder.toString())
.getJSONObject("calendar");
JSONArray jsonArray = jsonObject.getJSONArray("calendarlist");
for(int i=0;i<jsonArray.length();i++){
JSONObject jsonObject2 = (JSONObject)jsonArray.opt(i);
CalendarInfo calendarInfo = new CalendarInfo();
calendarInfo.setCalendar_id(jsonObject2.getString("calendar_id"));
calendarInfo.setTitle(jsonObject2.getString("title"));
calendarInfo.setCategory_name(jsonObject2.getString("category_name"));
calendarInfo.setShowtime(jsonObject2.getString("showtime"));
calendarInfo.setEndtime(jsonObject2.getString("endshowtime"));
calendarInfo.setAllDay(jsonObject2.getBoolean("allDay"));
calendarInfos.add(calendarInfo);
}

總結,普通形式的只需用JSONObject ,帶數組形式的需要使用JSONArray 將其變成一個list。

5、怎麼解析從伺服器返回的json

json數據格式解析我自己分為兩種;
一種是普通的,一種是帶有數組形式的;
普通形式的:
伺服器端返回的json數據格式如下:

復制代碼代碼如下:

{"userbean":{"Uid":"100196","Showname":"\u75af\u72c2\u7684\u7334\u5b50","Avtar":null,"State":1}}

分析代碼如下:

復制代碼代碼如下:

// TODO 狀態處理 500 200
int res = 0;
res = httpClient.execute(httpPost).getStatusLine().getStatusCode();
if (res == 200) {
/*
* 當返回碼為200時,做處理
* 得到伺服器端返回json數據,並做處理
* */
HttpResponse httpResponse = httpClient.execute(httpPost);
StringBuilder builder = new StringBuilder();
BufferedReader bufferedReader2 = new BufferedReader(
new InputStreamReader(httpResponse.getEntity().getContent()));
String str2 = "";
for (String s = bufferedReader2.readLine(); s != null; s = bufferedReader2
.readLine()) {
builder.append(s);
}
Log.i("cat", ">>>>>>" + builder.toString());

JSONObject jsonObject = new JSONObject(builder.toString())
.getJSONObject("userbean");
String Uid;
String Showname;
String Avtar;
String State;
Uid = jsonObject.getString("Uid");
Showname = jsonObject.getString("Showname");
Avtar = jsonObject.getString("Avtar");
State = jsonObject.getString("State");

帶數組形式的:
伺服器端返回的數據格式為:

復制代碼代碼如下:

{"calendar":
{"calendarlist":
[
{"calendar_id":"1705","title":"(\u4eb2\u5b50)ddssd","category_name":"\u9ed8\u8ba4\u5206\u7c7b","showtime":"1288927800","endshowtime":"1288931400","allDay":false},
{"calendar_id":"1706","title":"(\u65c5\u884c)","category_name":"\u9ed8\u8ba4\u5206\u7c7b","showtime":"1288933200","endshowtime":"1288936800","allDay":false}
]
}
}

分析代碼如下:

復制代碼代碼如下:

// TODO 狀態處理 500 200
int res = 0;
res = httpClient.execute(httpPost).getStatusLine().getStatusCode();
if (res == 200) {
/*
* 當返回碼為200時,做處理
* 得到伺服器端返回json數據,並做處理
* */
HttpResponse httpResponse = httpClient.execute(httpPost);
StringBuilder builder = new StringBuilder();
BufferedReader bufferedReader2 = new BufferedReader(
new InputStreamReader(httpResponse.getEntity().getContent()));
String str2 = "";
for (String s = bufferedReader2.readLine(); s != null; s = bufferedReader2
.readLine()) {
builder.append(s);
}
Log.i("cat", ">>>>>>" + builder.toString());
/**
* 這里需要分析伺服器回傳的json格式數據,
*/
JSONObject jsonObject = new JSONObject(builder.toString())
.getJSONObject("calendar");
JSONArray jsonArray = jsonObject.getJSONArray("calendarlist");
for(int i=0;i<jsonArray.length();i++){
JSONObject jsonObject2 = (JSONObject)jsonArray.opt(i);
CalendarInfo calendarInfo = new CalendarInfo();
calendarInfo.setCalendar_id(jsonObject2.getString("calendar_id"));
calendarInfo.setTitle(jsonObject2.getString("title"));
calendarInfo.setCategory_name(jsonObject2.getString("category_name"));
calendarInfo.setShowtime(jsonObject2.getString("showtime"));
calendarInfo.setEndtime(jsonObject2.getString("endshowtime"));
calendarInfo.setAllDay(jsonObject2.getBoolean("allDay"));
calendarInfos.add(calendarInfo);
}

總結,普通形式的只需用JSONObject ,帶數組形式的需要使用JSONArray 將其變成一個list。

6、伺服器返回json數據沒有可以嗎

if(jsonOj.has("appImgUrl")){
appImgUrl = jsonOj.getString("appImgUrl");
}
if(jsonOj.has("appName")){
appName = jsonOj.getString("appName");
}
if(jsonOj.has("appAuthor")){
appAuthor = jsonOj.getString("appAuthor");
}
if(jsonOj.has("appTJZS")){
appRate = jsonOj.getInt("appTJZS");
}
ContentValues values = new ContentValues();
values.put(SearchResultMeta.APP_ID, appId);
values.put(SearchResultMeta.APP_IMG_URL, appImgUrl);
values.put(SearchResultMeta.APP_NAME, appName);
values.put(SearchResultMeta.APP_AUTHOR, appAuthor);
values.put(SearchResultMeta.APP_RATE, appRate);
jsonList.add(values);
if(Log.LOGV) Log.d(TAG,

7、如何將伺服器端返回的list對象轉換為json格式返回給客戶端

將伺服器端返回的list對象轉換為json格式返回給客戶端
····
那你這個轉換到底是在服務端還是客戶端做啊

8、如何解析伺服器返回的json數據

樓上正解
不需要第三方的json
jar包
解析格式網上找實在解決不了留言之

9、請問伺服器默認返回是什麼格式數據??

$.get(url,function(data){
$("#result").html(data);

})
不需要參數就不用寫。不要寫上個null。這樣不對。

10、如何解析返回的json格式數據

json數據格式解析我自己分為兩種;
一種是普通的,一種是帶有數組形式的;
普通形式的:
伺服器端返回的json數據格式如下:

復制代碼代碼如下:

{"userbean":{"Uid":"100196","Showname":"\u75af\u72c2\u7684\u7334\u5b50","Avtar":null,"State":1}}

分析代碼如下:

復制代碼代碼如下:

// TODO 狀態處理 500 200
int res = 0;
res = httpClient.execute(httpPost).getStatusLine().getStatusCode();
if (res == 200) {
/*
* 當返回碼為200時,做處理
* 得到伺服器端返回json數據,並做處理
* */
HttpResponse httpResponse = httpClient.execute(httpPost);
StringBuilder builder = new StringBuilder();
BufferedReader bufferedReader2 = new BufferedReader(
new InputStreamReader(httpResponse.getEntity().getContent()));
String str2 = "";
for (String s = bufferedReader2.readLine(); s != null; s = bufferedReader2
.readLine()) {
builder.append(s);
}
Log.i("cat", ">>>>>>" + builder.toString());

JSONObject jsonObject = new JSONObject(builder.toString())
.getJSONObject("userbean");
String Uid;
String Showname;
String Avtar;
String State;
Uid = jsonObject.getString("Uid");
Showname = jsonObject.getString("Showname");
Avtar = jsonObject.getString("Avtar");
State = jsonObject.getString("State");

帶數組形式的:
伺服器端返回的數據格式為:

復制代碼代碼如下:

{"calendar":
{"calendarlist":
[
{"calendar_id":"1705","title":"(\u4eb2\u5b50)ddssd","category_name":"\u9ed8\u8ba4\u5206\u7c7b","showtime":"1288927800","endshowtime":"1288931400","allDay":false},
{"calendar_id":"1706","title":"(\u65c5\u884c)","category_name":"\u9ed8\u8ba4\u5206\u7c7b","showtime":"1288933200","endshowtime":"1288936800","allDay":false}
]
}
}

分析代碼如下:

復制代碼代碼如下:

// TODO 狀態處理 500 200
int res = 0;
res = httpClient.execute(httpPost).getStatusLine().getStatusCode();
if (res == 200) {
/*
* 當返回碼為200時,做處理
* 得到伺服器端返回json數據,並做處理
* */
HttpResponse httpResponse = httpClient.execute(httpPost);
StringBuilder builder = new StringBuilder();
BufferedReader bufferedReader2 = new BufferedReader(
new InputStreamReader(httpResponse.getEntity().getContent()));
String str2 = "";
for (String s = bufferedReader2.readLine(); s != null; s = bufferedReader2
.readLine()) {
builder.append(s);
}
Log.i("cat", ">>>>>>" + builder.toString());
/**
* 這里需要分析伺服器回傳的json格式數據,
*/
JSONObject jsonObject = new JSONObject(builder.toString())
.getJSONObject("calendar");
JSONArray jsonArray = jsonObject.getJSONArray("calendarlist");
for(int i=0;i<jsonArray.length();i++){
JSONObject jsonObject2 = (JSONObject)jsonArray.opt(i);
CalendarInfo calendarInfo = new CalendarInfo();
calendarInfo.setCalendar_id(jsonObject2.getString("calendar_id"));
calendarInfo.setTitle(jsonObject2.getString("title"));
calendarInfo.setCategory_name(jsonObject2.getString("category_name"));
calendarInfo.setShowtime(jsonObject2.getString("showtime"));
calendarInfo.setEndtime(jsonObject2.getString("endshowtime"));
calendarInfo.setAllDay(jsonObject2.getBoolean("allDay"));
calendarInfos.add(calendarInfo);
}

總結,普通形式的只需用JSONObject ,帶數組形式的需要使用JSONArray 將其變成一個list。

與伺服器返回json格式相關的知識