json_encode添加表名

时间:2013-12-17 05:24:27

标签: php mysql json

我的mySQL表行“contacts”中有以下代码:

{
    "contactList":
    [
        {
            "userId":"1062",
            "name":"Test User 1"
        },
        {
            "userId":"1063",
            "name":"Test User 2"
        }
    ]
}

当我对内容进行编码时,json_encode会将表的名称添加到结果中:

{"contacts":"{"contactList": 
 [{"userId":"1062","name":"Test User 1"},{"userId":"1063","name":"Test User 2"}]
  }"}

有人能告诉我如何避免这个或我的错误在哪里?我找不到任何答案:(

这是我的PHP代码:

<?php
...
    $last = mysql_query("SELECT contacts FROM users WHERE userId = 1000");
    while($row=mysql_fetch_assoc($last))
        $jsonEncode = (json_encode($row));
    $output = preg_replace('/\\\"/',"\"", $jsonEncode);
    print($output);
    mysql_close();
?>

2 个答案:

答案 0 :(得分:0)

更改while($row=mysql_fetch_assoc($last))

while($row=mysql_fetch_array($last))
 $jsonEncode = json_encode($row['contacts']);

答案 1 :(得分:0)

我看到已保存的数据已经过json编码并获得您只需解码的输出。

更改以下行

$jsonEncode = json_decode($row['contacts']);