我從資料庫取出資料後發到web上,讓APP去擷取資訊:
$result = mysql_query("select * from his");while ($arr = mysql_fetch_assoc($result)) { $json = json_encode($arr,JSON_UNESCAPED_UNICODE); echo $json;}
輸出到介面的json為:
{"hps_userid":"1","hps_userid2":"1"}
現在app端無法擷取資料是我的輸出格式問題還是app那邊的問題?
現在app那邊的同事說需要這種格式才可以
{"No.":[{"hps_userid":"1","hps_userid2":"1"}]}
當搜尋到多條資料的時候,又要怎麼如何輸出?
回複內容:
我從資料庫取出資料後發到web上,讓APP去擷取資訊:
$result = mysql_query("select * from his");while ($arr = mysql_fetch_assoc($result)) { $json = json_encode($arr,JSON_UNESCAPED_UNICODE); echo $json;}
輸出到介面的json為:
{"hps_userid":"1","hps_userid2":"1"}
現在app端無法擷取資料是我的輸出格式問題還是app那邊的問題?
現在app那邊的同事說需要這種格式才可以
{"No.":[{"hps_userid":"1","hps_userid2":"1"}]}
當搜尋到多條資料的時候,又要怎麼如何輸出?
“現在app那邊的同事說需要這種格式才可以”,“才可以”,哈哈。。。
以前我和別人合作的時候也聽到過類似的說法,然而後來我學了安卓開發。。。
媽蛋的,才發現,明明是他們解析JSON的代碼不怎麼會寫,還怪我給的格式不對。。。
只要輸出的是標準的JSON格式,資訊完整,組織正確,根本不存在解析不了的問題。
{"No.":[{"hps_userid":"1","hps_userid2":"1"}]}
這個"No"的存在並沒有什麼必要(只是因為他們JSON解析不太會)。
話說,“當搜尋到多條資料的時候,又要怎麼如何輸出?"
這種問題應該一開始就考慮好,好吧?
[ { "hps_userid": "1", "hps_userid2": "1" }, { "hps_userid": "2", "hps_userid2": "3" }, { "hps_userid": "4", "hps_userid2": "5" }]
取多條資料,最後都儲存到一個數組裡,然後把數組轉成JSON,就是上面這樣的了。
話說你的代碼怎麼會是這樣。。。
$result = mysql_query("select * from his");while ($arr = mysql_fetch_assoc($result)) { $json = json_encode($arr,JSON_UNESCAPED_UNICODE); echo $json;}
你知道while迴圈了幾次嗎?每次迴圈都echo,最後輸出的是類似這樣的:
{"hps_userid":"1","hps_userid2":"1"}{"hps_userid":"1","hps_userid2":"1"}{"hps_userid":"1","hps_userid2":"1"}{"hps_userid":"1","hps_userid2":"1"}{"hps_userid":"1","hps_userid2":"1"}{"hps_userid":"1","hps_userid2":"1"}
這種連起來的就根本不是JSON字串啊。。。
。。。。。。
如下:
$result = mysql_query("select * from his");$Temp = array();$row = mysql_fetch_assoc($result);while ($row) { $Temp[] = array("hps_userid"=>$row["hps_userid"],"hps_userid2"=>$row["hps_userid2"]); $row = mysql_fetch_assoc($result);}die(json_encode($Temp));//或者你就聽你們那個逗比APP工程師的://die(json_encode(array("No."=>$Temp)));
這裡是需要迴圈的,所以你給你們逗比工程師的json,是需要用 [{xxx:1},{xxx:2}]
這種格式的