服務器頁數和數據json(數據訪問頁分為)

本文目錄一覽:

json的簡單介紹及基本使用

json是對象由鍵值對組成  jo={key:value,”t”:”haha”}這是一個json對象

使用也很簡單   json對象.key  可以取到value值如jo.t便可以取到對應的值

服務器端JSON數據或者xml數據如何設置

服務端打印出來字符串,客戶端解析

XML可以直接下載,然後解析

JSON就是一個字符串,放在TXT里就行

生成也很容易,PHP用file_put_contents可以生成TXT,json_encode生成JSON

服務器端和客戶端進行json數據傳輸,json是不是也是通過http協議進行位元組流傳輸的?

先看一看json的定義: JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。

可見它只是一種數據格式,可以對其使用任何可行的傳輸協議。

但一般的網絡傳輸都使用http協議,

這和使用http協議傳輸視頻格式文件,音頻的道理是一致的。

json的傳輸相當於對字符串的傳輸。

所以:

服務器端和客戶端的json數據傳輸,可以而且最好使用http協議進行位元組流傳輸,但不僅限於http協議。

從服務器端獲取JSON格式的數據進行解析的問題,求幫助

我們不返回json格式的字符串到客戶端呢然後再用js解析呢json字符串一定的弄個json文件存放嗎?

怎麼解析從服務器返回的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;ijsonArray.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。

原創文章,作者:KAMQ1,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/127992.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
KAMQ1的頭像KAMQ1
上一篇 2024-10-03 23:24
下一篇 2024-10-03 23:24

相關推薦

  • Python讀取CSV數據畫散點圖

    本文將從以下方面詳細闡述Python讀取CSV文件並畫出散點圖的方法: 一、CSV文件介紹 CSV(Comma-Separated Values)即逗號分隔值,是一種存儲表格數據的…

    編程 2025-04-29
  • Python中讀入csv文件數據的方法用法介紹

    csv是一種常見的數據格式,通常用於存儲小型數據集。Python作為一種廣泛流行的編程語言,內置了許多操作csv文件的庫。本文將從多個方面詳細介紹Python讀入csv文件的方法。…

    編程 2025-04-29
  • 如何用Python統計列表中各數據的方差和標準差

    本文將從多個方面闡述如何使用Python統計列表中各數據的方差和標準差, 並給出詳細的代碼示例。 一、什麼是方差和標準差 方差是衡量數據變異程度的統計指標,它是每個數據值和該數據值…

    編程 2025-04-29
  • Python多線程讀取數據

    本文將詳細介紹多線程讀取數據在Python中的實現方法以及相關知識點。 一、線程和多線程 線程是操作系統調度的最小單位。單線程程序只有一個線程,按照程序從上到下的順序逐行執行。而多…

    編程 2025-04-29
  • Python爬取公交數據

    本文將從以下幾個方面詳細闡述python爬取公交數據的方法: 一、準備工作 1、安裝相關庫 import requests from bs4 import BeautifulSou…

    編程 2025-04-29
  • Python兩張表數據匹配

    本篇文章將詳細闡述如何使用Python將兩張表格中的數據匹配。以下是具體的解決方法。 一、數據匹配的概念 在生活和工作中,我們常常需要對多組數據進行比對和匹配。在數據量較小的情況下…

    編程 2025-04-29
  • 服務器安裝Python的完整指南

    本文將為您提供服務器安裝Python的完整指南。無論您是一位新手還是經驗豐富的開發者,您都可以通過本文輕鬆地完成Python的安裝過程。以下是本文的具體內容: 一、下載Python…

    編程 2025-04-29
  • Python數據標準差標準化

    本文將為大家詳細講述Python中的數據標準差標準化,以及涉及到的相關知識。 一、什麼是數據標準差標準化 數據標準差標準化是數據處理中的一種方法,通過對數據進行標準差標準化可以將不…

    編程 2025-04-29
  • STUN 服務器

    STUN 服務器是一個網絡服務器,可以協助網絡設備(例如 VoIP 設備)解決 NAT 穿透、防火牆等問題,使得設備可以正常地進行數據傳輸。本文將從多個方面對 STUN 服務器做詳…

    編程 2025-04-29
  • 如何使用Python讀取CSV數據

    在數據分析、數據挖掘和機器學習等領域,CSV文件是一種非常常見的文件格式。Python作為一種廣泛使用的編程語言,也提供了方便易用的CSV讀取庫。本文將介紹如何使用Python讀取…

    編程 2025-04-29

發表回復

登錄後才能評論