久久久久在线观看_又色又爽又黄的免费视频播放_一区中文字幕_日韩电影在线播放

今日頭條 焦點資訊 營銷之道 企業(yè)報道 淘寶運營 網(wǎng)站建設(shè) 軟件開發(fā) 400電話
  當(dāng)前位置: 首頁 » 資訊 » 軟件開發(fā) » 正文

php后端實現(xiàn)與Android進行json交互

放大字體  縮小字體 發(fā)布日期:2018-02-26  來源:企業(yè)800網(wǎng)  作者:新格網(wǎng)  瀏覽次數(shù):729  【去百度看看】
核心提示:?身邊一些朋友說他們在用那篇博客的代碼時會在下面這句代碼報錯,出現(xiàn)builder.toString()無法轉(zhuǎn)化為json對象的錯誤。
身邊一些朋友說他們在用那篇博客的代碼時會在下面這句代碼報錯,出現(xiàn)builder.toString()無法轉(zhuǎn)化為json對象的錯誤。

	JSonObject jsonObject   = new JSonObject(builder.toString());


而我自己試驗卻沒有錯。所以對好友們搭建的php服務(wù)器端代碼進行了一些檢查,最后發(fā)現(xiàn)了問題所在。所以把這個記下來,希望能幫到踩入同一個坑的廣大學(xué)子

這里涉及到php的json_decode函數(shù),這個函數(shù)就是導(dǎo)致我的好友們出錯的原因。

現(xiàn)在寫出我測試過成功的代碼,我在Android發(fā)送到php服務(wù)器的是一個jsonObject,{“name”:“l(fā)ala”},對應(yīng)的實體名字是“userJson”,也就是如下代碼

	JSonObject jo = new JSonObject();
        jo.put("name", "test");
 
params.add(new BasicNamevaluePair("userJson",jo.toString() ));

這時我的服務(wù)器端代碼為

<?php  
    	$json_string = $_POST ["userJson"];  
	$user = json_decode($json_string,true);//這里的true加上就會將android發(fā)來的json字符串轉(zhuǎn)化為關(guān)聯(lián)數(shù)組
  	$arr = array(  
        'user_id' => $user["name"]
        );  
	$str = json_encode($arr);  
    	echo($str);  
?>

這時候在android就不會報無法轉(zhuǎn)化為JSONObject的錯誤,當(dāng)然我也可以在服務(wù)器端將JSONArray發(fā)送到服務(wù)器。也就是[{"name":"lalala"},{}]

這種情況下上面的PHP代碼就無法正確執(zhí)行到最后一句了,這時候我們要將代碼修改為

<?php  
    	$json_string = $_POST ["userJson"];  
	$user = json_decode($json_string,true);//這里的true加上就會將android發(fā)來的json字符串轉(zhuǎn)化為關(guān)聯(lián)數(shù)組
  	$arr = array(  
        'user_id' => $user[0]["name"]
        );  
	$str = json_encode($arr);  
    	echo($str);  
?>

為什么要這么修改呢?原因其實很簡單,我們在json_decode函數(shù)里面加上true時會將接收到的$json_string轉(zhuǎn)化為關(guān)聯(lián)數(shù)組。比如第一個例子,jsonObject會被轉(zhuǎn)化為

array(1){	["name"]=>String("test")	}

所以用$user["name"]就可以讀取到“test”這個字符串,而在例二中轉(zhuǎn)化的結(jié)果是

array(2){
	[0]=>array(1){			["name"]=>String("lala")			}	[1]=>array(0){}
	}

這時候用$user["name"]就會出錯了,而需要用$user[0]["name"]才能讀取到“l(fā)ala”的字符串

相關(guān)推薦:

當(dāng)controller方法的返回值為簡單類型,該如何與json交互?

jQuery和PHP的JSON交互,如何避免二維數(shù)組

php與html簡單的json交互示例

以上就是php后端實現(xiàn)與Android進行json交互的詳細內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!

 
關(guān)鍵詞: javascript,Android,json
 
[ 資訊搜索 ]  [ 加入收藏 ]  [ 告訴好友 ]  [ 打印本文 ]  [ 違規(guī)舉報 ]  [ 關(guān)閉窗口 ]

 
0條 [查看全部]  相關(guān)評論

 
網(wǎng)站首頁 | 關(guān)于我們 | 聯(lián)系方式 | 使用協(xié)議 | 版權(quán)隱私 | 網(wǎng)站地圖 | 排名推廣 | 廣告服務(wù) | 積分換禮 | 網(wǎng)站留言 | RSS訂閱 | 吉ICP備11001726號-6
企業(yè)800網(wǎng) · 提供技術(shù)支持