连接json_ecode'd数据的问题

时间:2011-09-08 15:11:11

标签: php json

在while循环中,我设置了这个数组:

$prejsonarray[] = json_encode(array( 'dealerName'=> $row_1, 'dealerAddress' => $addressstring  ));

然后在外面我尝试将JSON数据连接成一个字符串:

foreach($prejsonarray as $v){ $dealersstring .= "$v " }

我收到错误:

  

解析错误:语法错误,意外'}'

对于foreach行。但是,如果我回显$prejsonarray[0],我可以看到它包含预期的JSON数据。

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

foreach($prejsonarray as $v){ $dealersstring .= "$v "; }

缺少;

答案 1 :(得分:1)

您不应该只是连接JSON字符串。结果很可能是一个有效的JSON字符串,如果这是您想要的结果。在这种情况下,编码整个数组:

$prejsonarray[] = array('dealerName'=> $row_1, 'dealerAddress' => $addressstring );

最后:

$dealersstring = json_encode($prejsonarray);

但是,您会收到语法错误,因为您缺少分号;

foreach($prejsonarray as $v){ $dealersstring .= "$v "; }
//                                                   ^

您应该使用implode [docs]

而不是以这种方式连接数组值
$dealersstring = implode(' ', $prejsonarray);

答案 2 :(得分:0)

试试这个

foreach($prejsonarray as $v){ $dealersstring .= "$v "; }

你只需添加一个分号。

解析器抛出错误“unexpected}”的原因,因为在行结束后需要一个语句终结符,而不是“;”所以当它查找分号但在你的情况下它有一个“}”