带有 JSON、PHP 的 iOS

Posted

技术标签:

【中文标题】带有 JSON、PHP 的 iOS【英文标题】:iOS with JSON, PHP 【发布时间】:2011-04-14 04:02:24 【问题描述】:

我对 ios 和 json 比较陌生。

我已经设法在mysql中创建了一个数据库,并使用php创建了一个基本的读写php页面。

我正在使用来自 cs193p 类的 TwitterHelper 类来完成来自斯坦福的出席分配,以在线访问 php 界面并将其绑定到我的 ios 代码。我遇到了一个我无法解决的错误。

更新:

好的,这是我的代码:

<?php

include_once("JSON.php");
$json = new Services_JSON();

$link = mysql_pconnect("localhost", "user", "pass") or die("Could not connect");
mysql_select_db("mydb") or die("Could not select database");

$query = "SELECT * FROM tags";
$result = mysql_query($query);

$arr = array();
$rs = mysql_query("SELECT * FROM tags");
 
while($obj = mysql_fetch_object($rs)) 
    $arr[] = $obj;

 
Echo $json->encode($arr);
//Echo ':'.$json->encode($arr).'';

?>

问题是,除非我从 $arr[] 中删除 [],否则我会得到包含在 [] 中的 php 页面的答案,json fetch 不喜欢该页面,因此会抛出异常错误并使我的应用程序崩溃。

如果我删除它,php 页面只返回 1 个结果...

【问题讨论】:

在这里贴出错误和源代码的相关部分。不要发布代码墙。 不,您不能通过电子邮件向我们发送您的代码以寻求帮助。这不是这个网站的用途。 Stack Overflow 的设计目的是让人们可以就编程问题提出写得很好的问题并得到写好的答案。请准确说明您遇到了什么错误,在哪里以及为什么。 【参考方案1】:

Services_JSON 是做什么的?特别是Service_JSON-&gt;encode()。一个简单的json_encode 能完成这项工作吗? (因为无论如何你对 Service_JSON 对象什么都不做)

编辑

$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
header('Content-type: application/json');
echo json_ecode($arr);

输出: "a":1,"b":2,"c":3,"d":4,"e":5

根据PEAR::Services_JSON::docs

$json = new Service_JSON;
echo $json->encode($arr);

输出: ["a":1,"b":2,"c":3,"d":4,"e":5]

【讨论】:

【参考方案2】:

while 循环是一个迭代器。如果要从数据库中获取所有值,则应在 while 循环中指定 echo 语句。

【讨论】:

以上是关于带有 JSON、PHP 的 iOS的主要内容,如果未能解决你的问题,请参考以下文章

ios json 解析与 afnetworking

iOS JSON解析麻烦

iOS JSON 错误:NSDebugDescription=Garbage at end

为啥我从这个请求 iOS JSON 得到空响应

带有 JSON、PHP 的 iOS

如何使用 PHP 解码带有注释的 JSON 文件? [复制]