【发布时间】:2014-02-12 15:28:28
【问题描述】:
我在从本地服务器获取数据到 Android 应用程序时遇到了一些问题。 架构:Android - PHP/Query - MySQL 数据库。
这是调用执行查询的函数(在 db_function.php 中)的函数(在 loadData.php 中):
$exists = $db -> loadData($id);
在 db_function.php 中,函数如下所示:
public function loadData($app_cust_id) {
$results = mysql_query("SELECT * FROM ...") or die (mysql_error());
$messages = array();
if (mysql_num_rows($results)) {
while ($result = mysql_fetch_assoc($results)) {
$messages[] = $result;
}
}
return $messages;
...现在回来...我要写什么才能返回数组结果并回显正确的 json_encode?我是否必须创建一个新数组,循环遍历结果并将其存储在新数组中?
$result = $db -> loadData($id);
// ???
$response["success"] = 0;
echo json_encode($response);
编辑:
$result = $db -> loadData($id);
$result["success"] = 0;
echo json_encode($result);
所以我做了这些改变。似乎没有数据发送回我的 java 函数。 logcat 说:“解析数据 org.json.JSONException 时出错:字符 0 处的输入结束”我没有找到解决方案。任何人都可以告诉我如何在 java 中使用正确的 json_encode 和正确的 jsonparser 进行处理。非常感谢!
JSONObject json = jsonParser.getJSONFromUrl(URL, params);;
【问题讨论】: