當前位置:首頁 » 安卓系統 » androidjson伺服器端

androidjson伺服器端

發布時間: 2022-09-13 02:23:30

A. android客戶端與伺服器發之間的json數據解析

JSONArray jsonArray = new JSONArray(string); //string為返回的字元串
//數據直接為一個數組形式,所以可以直接 用android提供的框架JSONArray讀取JSON數據,轉換成Array
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject item = jsonArray.getJSONObject(i);
//每條記錄又由幾個Object對象組成
iitem.getInt("index");
// 獲取對象對應的值
item.getString("address");
}

B. android客戶端怎麼用 json給服務端傳數據

android如果是通過http post發送數據的話,可以採用以下方式接收數據: 通過request.getParameter(paraName); 獲取參數。 request對象就是表示請求對象,getParameter就是獲取參數,傳遞的參數就是參數名。 例如請求 localhost:8080/web?data=abcd 則伺服器取值, request.getParameter("data"); 。

C. 在android網路編程里,客戶端與伺服器端採用json方式傳遞數據。伺服器端是怎麼接受和返回數據呢

int formDataLength = request.getContentLength();
// 取得ServletInputStream輸入流對象
DataInputStream dataStream = new DataInputStream(
request.getInputStream());
byte body[] = new byte[formDataLength];
int totalBytes = 0;
while (totalBytes < formDataLength) {
int bytes = dataStream.read(body, totalBytes, formDataLength);
totalBytes += bytes;
}
String json = new String(body, "ISO-8859-1");
System.out.println(json);

D. android用volley怎麼給伺服器發送json

1.下載官網的android SDK(本人用的是eclipse)

2.新建一個android項目:

File->new->andriod Application project

7、下面就是具體的使用post和get請求的代碼:

A:發送get請求如下:

package com.example.xiaoyuantong;

import java.util.HashMap;

import java.util.Iterator;

import org.json.JSONException;

import org.json.JSONObject;

import android.app.Activity;

import android.os.Bundle;

import android.util.Log;

import android.widget.TextView;

import com.android.volley.Request;

import com.android.volley.RequestQueue;

import com.android.volley.Response;

import com.android.volley.VolleyError;

import com.android.volley.toolbox.JsonObjectRequest;

import com.android.volley.toolbox.Volley;

/**

* Demo

*/

public class MainActivity extends Activity {

private RequestQueue requestQueue ;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

init();

}

private void init() {

TextView textView = (TextView)findViewById(R.id.textView);

requestQueue = Volley.newRequestQueue(this);

getJson();

textView.setText("hello");

}

private void getJson(){

String url = "http://192.168.20.1:8080/xiaoyuantong/userAction!register.action?pwd='測試'";

JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(

Request.Method.GET, url, null,

new Response.Listener<JSONObject>() {

@Override

public void onResponse(JSONObject response) {

//這里可以列印出接受到返回的json

Log.e("bbb", response.toString());

}

}, new Response.ErrorListener() {

@Override

public void onErrorResponse(VolleyError arg0) {

// System.out.println("sorry,Error");

Log.e("aaa", arg0.toString());

}

});

requestQueue.add(jsonObjectRequest);

}

}

B:發送post請求如下:

package com.example.xiaoyuantong;

import java.util.HashMap;

import java.util.Map;

import org.json.JSONException;

import org.json.JSONObject;

import com.android.volley.Request;

import com.android.volley.RequestQueue;

import com.android.volley.Response;

import com.android.volley.VolleyError;

import com.android.volley.toolbox.JsonObjectRequest;

import com.android.volley.toolbox.Volley;

import android.os.Bundle;

import android.app.Activity;

import android.util.Log;

import android.view.Menu;

import android.widget.TextView;

public class PostActivity extends Activity {

private RequestQueue requestQueue ;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_post);

init();

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.post, menu);

return true;

}

private void init() {

TextView textView = (TextView)findViewById(R.id.postView);

requestQueue = Volley.newRequestQueue(this);

getJson();

textView.setText("hellopost");

}

private void getJson(){

String url = "http://192.168.20.1:8080/xiaoyuantong/userAction!reg.action";

JsonObjectRequest jsonObjectRequest ;

JSONObject jsonObject=new JSONObject() ;

try {

jsonObject.put("name", "張三");

jsonObject.put("sex", "女");

} catch (JSONException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

//列印前台向後台要提交的post數據

Log.e("post",jsonObject.toString());

//發送post請求

try{

jsonObjectRequest = new JsonObjectRequest(

Request.Method.POST, url, jsonObject,

new Response.Listener<JSONObject>() {

@Override

public void onResponse(JSONObject response) {

//列印請求後獲取的json數據

Log.e("bbb", response.toString());

}

}, new Response.ErrorListener() {

@Override

public void onErrorResponse(VolleyError arg0) {

// System.out.println("sorry,Error");

Log.e("aaa", arg0.toString());

}

});

requestQueue.add(jsonObjectRequest);

} catch (Exception e) {

e.printStackTrace();

System.out.println(e + "");

}

requestQueue.start();

}

}

8、在android的logcat裡面能查看到列印的請求

(紅色的顯示的是我在後台請求到數據)

有時候logcat顯示不出數據,可能是消息被過濾了,可以在左邊點擊「減號」刪除過濾

在server端,也就是在myeclipse的建立的另一個後台工程裡面能獲取到請求:


9、後續會補充json數據的解析部分,以及過度到移動雲的部分,上面只是c/s模式下的一個簡單的基於http的請求應答例子。

E. 伺服器端怎麼接收Android客戶端傳過來的Json數據

android如果是通過http post發送數據的話,可以採用以下方式接收數據:

  1. 通過request.getParameter(paraName); 獲取參數。

  2. request對象就是表示請求對象,getParameter就是獲取參數,傳遞的參數就是參數名。

  3. 例如請求 localhost:8080/web?data=abcd 則伺服器取值,request.getParameter("data"); 。

F. Android客戶端識別伺服器的json數據有亂碼

使用json-lib來進行解析,需要引入第三方的包。
盡量不要直接通信JSON,收發字元串之後各自解析。另外客戶端服務端的字元編碼要統一,一般UTF8。

G. 請問android怎樣通過json數據從伺服器獲取圖片

直接獲取是不行的,要有一個文件伺服器,對於文件伺服器會為每個圖片生成一個資源路徑,然後json數據中返回的就是這個資源路徑,最後用URL類就可以通過這個資源路徑把圖片download下來

H. php伺服器端怎樣接收來自android的json數據.android以post方式發送

php有一個函數叫json_encode,數據從伺服器中拿過來之後,我是直接添加進array裡面來進行操作的,android認的JSONObject的格式是兩層大括弧包著的array。 你將數據從資料庫中拿出來之後,組成associative array,用你的例子創建一個空array先~~ $arr = array(); $arr['test'] = 'json'; $arr['mode'] = 'single'; 這樣加進一個叫$arr的數組(中文是叫這個的吧。。。orz。。。。)之後,你用另一個array再把它裝進去,操作是 $arr2 = array('view' => $arr); 這樣我們要的那個主要的包含數據的數組$arr就有了一個名字,於是android解析的時候就可以區別了,php輸出的時候,要這樣輸出: echo json_encode($arr2); 於是就ok~~~會變成一個可以解析的JSONObject哦~~~~ 以上全部是我個人研究經驗。。。。也許有更簡單的方法,求高手指教~~~不過我們整個一個系統裡面凡是server和android軟體交互的數據我都是這么發過去的,表示JSONArray是更麻煩的東西,JSONObject神馬的,還是很簡單的哈~~~~~自己研究研究就出來了~~~

I. android 在伺服器端生成json格式數據,在客戶端怎麼解析

1、生成JSON格式數據,有對應的後台類處理,如果你是做Android開發,後台提供獲取數據的介面


2、客戶端解決:

JSONArrayjsonArr=newJSONArray(json);
for(inti=0;i<jsonArr.length();i++){
JSONObjectjsonObj=jsonArr.getJSONObject(i);
booleanisChild=jsonObj.has("childrenNodes");
AreaBeanbean=newAreaBean(jsonObj.getString("id"),
jsonObj.getString("parentId"),
jsonObj.getString("name"));
mList.add(bean);
if(isChild){
mchildNodesList.add(jsonObj.getString("childrenNodes"));
}else{
mchildNodesList.add(null);
}
}

J. android應用怎麼樣在伺服器端解析從客戶端發送過來的json數據

首先是伺服器要取到數據,然後就是就在服務端解析json啊。。解析都是一樣的撒。。可以自己寫方法。也可以用別人的jar包。。

熱點內容
c語言執行shell 發布:2025-01-05 09:25:26 瀏覽:411
sql資料庫管理器 發布:2025-01-05 09:17:27 瀏覽:859
安卓如何獲取callkit測試許可權 發布:2025-01-05 09:17:23 瀏覽:894
解壓是出現錯誤 發布:2025-01-05 09:17:15 瀏覽:360
風櫃冷量演算法 發布:2025-01-05 09:15:04 瀏覽:356
腳本被檢測到游戲行為違規 發布:2025-01-05 08:40:55 瀏覽:615
手柄藍牙編程 發布:2025-01-05 08:40:54 瀏覽:994
雲伺服器搭橋 發布:2025-01-05 08:40:12 瀏覽:420
神武逍遙外傳腳本 發布:2025-01-05 08:34:46 瀏覽:462
王者榮耀如何查看對方伺服器 發布:2025-01-05 08:17:50 瀏覽:749