導航:首頁 > IDC知識 > 伺服器怎麼返回json

伺服器怎麼返回json

發布時間:2021-03-04 07:38:03

1、java web伺服器怎麼返回json給安卓端解析

可以直接 out.print()

2、直接寫伺服器路徑返回Json,在我的代碼中怎麼實現

url是要訪問的地址,method是請求方式可以是POST或者GET,params是後面的參數比如?aa=11&bb=22

public String connctionURL_Params(String url,String method,String params){
StringBuffer bufferRes = new StringBuffer();
url = url + params;
try {
URL realUrl = new URL(url);
HttpURLConnection conn = (HttpURLConnection) realUrl.openConnection();
// 請求方式
conn.setRequestMethod(method);
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setUseCaches(false);
conn.connect();

InputStream in = conn.getInputStream();
BufferedReader read = new BufferedReader(new InputStreamReader(in,"UTF-8"));
String valueString = null;
while ((valueString=read.readLine())!=null){
bufferRes.append(valueString);
}
read.close();
in.close();
in = null;
if (conn != null) {
// 關閉連接
conn.disconnect();
}
} catch (Exception e) {
e.printStackTrace();
}
return bufferRes.toString();
}

3、如何在伺服器端傳回.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則沒有此限制。

4、易語言伺服器怎麼返回json

易語言沒有伺服器
json就是一個帶格式的字元串
直接將他當做文本返回即可

5、如何將伺服器返回的json指定為utf-8

你獲取json的時候用URLDecoder.decode(Json);解碼下

6、怎麼解析從伺服器返回的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。

7、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);//獲取錯誤碼
    }
});

8、伺服器返回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,

9、伺服器如返回JSON

jQuery ajax請求
按照json格式拼接好字元串返回就行了
返回
伺服器端代碼
PrintWriter writer = response.getWriter();
writer.write(jo.toString()); //這里是你要返回的字元串
writer.flush();
writer.close();

//url是請求的伺服器地址
//data是請求的參數,格式data:{id:1,name:'user1'}
jQuery.ajax({type:"POST", url:"member_overtime.action",data:{}, beforeSend:function () {
//提交數據狀態
}, success:function (data) {
//伺服器端返回參數處理
var objJson = eval("(" + data + ")"); //json字元串轉換為Object
//通過ojbJson.key 操作 類似與map
}});

與伺服器怎麼返回json相關的知識