PHP Yii webservice,iPhone中的JSON null问题

时间:2014-05-05 11:22:20

标签: php json web-services yii

我在iPhone上与iPhone开发人员一起编写Web服务。我的iPhone联合开发人员总是抱怨我将数据发送为null而不是" null"。

让我详细解释一下这个场景。

$cdata_provider = new CSqlDataProvider("Users");

echo CJSON::encode($cdata_provider->data);

输出

{
 "users": [
 {
   "firstname":"Mike",
   "lastname":null
 },
{
   "firstname":"Steve",
   "lastname":null
 }
]
}

我的数据还可以。但是当它接收数据为空时,iphone应用程序崩溃了。 iphone开发人员说,如果我发送" null" (带双引号)而不是null(不带双引号。

所需的输出为:

{
 "users": [
 {
   "firstname":"Mike",
   "lastname":"null"
 },
{
   "firstname":"Steve",
   "lastname":"null"
 }
]
}

我能完成这个吗?我需要配置什么吗?我做了很多谷歌,但没有解决这个问题。

2 个答案:

答案 0 :(得分:0)

使用str_replace()完成此操作

   echo str_replace("null",'"null"',CJSON::encode($cdata_provider->data));

答案 1 :(得分:0)

尝试将null替换为查询

中的其他字词
   $cdata_provider = new CSqlDataProvider("select firstname,replace(lastname,'null','MyWord') as lastname from YourUserTable");
   echo CJSON::encode($cdata_provider->data);

输出将

      { 
        "users": 
          [
            {
              "firstname":"Mike",
              "lastname":"MyWord"
            },
            {
              "firstname":"Steve",
              "lastname":"MyWord"
            }
           ]
       }