我正在一个android应用程序,我查询我的api和返回值。
这工作得很好,但我有点卡住时,查询发现没有值(在数据库中没有结果)
这是我的api的一部分,返回结果if (empty($rows))
{
//deliver_response(404,"Item not found",NULL);
$encode = array("List" => $rows);
$json_response=json_encode($encode);
}
else
{
$encode = array("List" => $rows);
$json_response=json_encode($encode);
echo $json_response;
}
和部分android代码
if (status == 200) {
HttpEntity entity = httpResponse.getEntity();
String data = EntityUtils.toString(entity);
if (data.equals(""))
{
Toast.makeText(getBaseContext(),"No Results Found",Toast.LENGTH_LONG).show();
}else {
JSONObject jobj = new JSONObject(data);
JSONArray jsonArray = jobj.getJSONArray("List");
当我在String data = EntityUtils.toString(entity);
数据上放置一个断点是data="'n'n"
时,然而,当我有if (data.equals(""))
和if (data.equals("'n'n"))
时,if被忽略并进入else。我想知道是否有人可以帮助我纠正这个问题。
谢谢
我认为在您的web服务响应中使用消息键更可取,因此消息键将始终包含来自服务器的消息,即未找到记录,成功,失败(在查询执行中出现错误的情况下)
在android中,你应该总是检查消息,并以此为基础,你可以显示相应的消息给用户。
示例json响应
{"list": [1,2,3], "message": "No Record Found"}