android接收json
⑴ android 怎麼接受網址上的json數組,並解析
傳入網址路徑,獲取字元串
public static String getHtmlContent(String url) {
String htmlCode = null;
StringBuffer resultBuffer = new StringBuffer();
HttpGet request = new HttpGet(url);
HttpClient httpClient = new DefaultHttpClient();
try {
HttpResponse response = httpClient.execute(request);
if(response.getStatusLine().getStatusCode() == 200)
{
HttpEntity entity = response.getEntity();
BufferedReader io = new BufferedReader(new InputStreamReader(entity.getContent(),"UTF-8"));
String strResult;
while((strResult = io.readLine())!=null){
resultBuffer.append(strResult);
}
htmlCode = new String(resultBuffer);
io.close();
}
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return htmlCode;
}
解析json字元串
private String parseJson(String strResult) {
String temp = null;
try {
JSONObject jsonObj = new JSONObject(strResult).getJSONObject("weatherinfo");
temp = jsonObj.getInt("temp") + "#" +jsonObj.getString("city");
} catch (JSONException e) {
System.out.println("Json parse error");
e.printStackTrace();
}
return temp;
}
注意事項:網路請求要非同步操作
⑵ 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神馬的,還是很簡單的哈~~~~~自己研究研究就出來了~~~
⑶ 伺服器端怎麼接收Android客戶端傳過來的Json數據
android如果是通過http post發送數據的話,可以採用以下方式接收數據:
通過request.getParameter(paraName); 獲取參數。
request對象就是表示請求對象,getParameter就是獲取參數,傳遞的參數就是參數名。
例如請求 localhost:8080/web?data=abcd 則伺服器取值,request.getParameter("data"); 。
⑷ java怎麼接收android請求過來的json數據
java接收android請求json數據的方法:
如果發送的沒有參數名稱你可以直接得到請求體,如
InputStreaminputStream=urlConnection.getInputStream();
Stringencoding=urlConnection.getContentEncoding();
Stringbody=IOUtils.toString(inputStream,encoding);
System.out.println(body);如果body就是那個json內容使用fastjson進行解析就可以了
JSONObjectmap=JSON.parseObject(body);
System.out.println(map.getString("mobileNo"));//還是System.out.println(map.get("mobileNo"));?具體看一下介面文檔或者
Mapmap=JSON.parseObject(body,Map.class);
System.out.println(map.get("mobileNo"));
⑸ android 接收url的json數據 中文轉碼
伺服器端:
StringencodeStr=URLEncoder.encode("中國","utf-8");
System.out.println("處理後:"+encodeStr);
//處理後:%E4%B8%AD%E5%9B%BD
客戶端:
StringdecodeStr=URLDecoder.decode(encodeStr,"utf-8");
System.out.println("解碼:"+decodeStr);
//解碼:中國
⑹ 在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);
⑺ 在android中如何訪問某個能返回json字串的url連接,並接收返回的json
publicStringgetWebContent(Stringurl){
//創建一個http請求對象
HttpGetrequest=newHttpGet(url);
//創建HttpParams以用來設置HTTP參數
HttpParamsparams=newBasicHttpParams();
//設置連接超時或響應超時
//HttpConnectionParams.setConnectionTimeout(params,3000);
//HttpConnectionParams.setSoTimeout(params,5000);
//創建一個網路訪問處理對象
HttpClienthttpClient=newDefaultHttpClient(params);
try{
//執行請求參數項
HttpResponseresponse=httpClient.execute(request);
//判斷是否請求成功
if(response.getStatusLine().getStatusCode()==HttpStatus.SC_OK){
//獲得響應信息
Stringcontent=EntityUtils.toString(response.getEntity());
returncontent;
}else{
//網連接失敗,使用Toast顯示提示信息
Toast.makeText(
context,
context.getResources().getString(
R.string.connected_fails),3000).show();
}
}catch(Exceptione){
//e.printStackTrace();
}finally{
//釋放網路連接資源
httpClient.getConnectionManager().shutdown();
}
returnnull;
}
content: 即為json數據。
⑻ android向服務端發送數據並接收返回的json數據
用http協議發送get或者post請求,把需要發送的json字元串帶上。最好用post方式
⑼ Android端,要從後台獲取json數據,後台將這個json以流的形式發送,那Android端怎
JSON數據就是一個JSON格式的字元串,接收到服務端來的JSON數據,轉為JSONObject
,然後處理後(JSONObject 加減KEY、VALUE),然後JSONObject.tostring()發給服務端即可。
【超級盤點機】超市盤點機安卓條碼掃描APP軟體,ENJOY!