2011-04-03 46 views
0

我有这个字符串:解析JSON在PHP“stdClass的不能转换为字符串”错误

{\"lat\":37.790388261934424,\"lng\":-122.46047996826172},{\"lat\":37.789608231530124,\"lng\":-122.46344112701416} 

然后感谢StackOverflowers的帮助下,我这样做是为了剥夺斜线:

$markers = stripslashes($markers); 

然后我尝试添加这似乎对由解码功能

$markers = json_decode('['.$markers.']'); 

是需要外部支架正确的方式去呢?然后我试图做到这一点:

foreach($markers as $key => $value) 
{ 
    $some_string = $some_string.' ('.$value.') '; 
} 

哪款游戏我这个错误:

Object of class stdClass could not be converted to string 

但我真正需要的是纬度/经度值提取到$纬度,$ LNG变量。有人可以告诉我如何解决我得到的错误,并将值放入变量中?

谢谢, 亚历克斯

回答

5

尝试...

foreach($markers as $marker) 
{ 
    $some_string .= '('.$marker->lat.','.$marker->lng.')'; 
} 

结果...

(37.7903882619,-122.460479968)(37.7896082315,-122.463441127) 
3
foreach($markers as $key => $value) 
{ 
    // $value is object with lat and lng properties 
    $some_string = $some_string.' (lat:'.$value->lat.') '; 
} 
0

这是一些困惑我也一样,为什么json_decode()返回封装在对象中的数据?

事实证明,Javascript中的所有数组都被视为对象,因此json_decode()将它们作为PHP stdClass的对象返回。尝试在$标记上执行print_r()以查看它的结构。

0

这这里工作

var json = JSON.parse(<?php echo "'" . stripslashes($_POST['json']) . "'" ?>); 
+0

这真的没有解决的问题比任何其他的答案做的更好。 – 2012-09-23 20:05:10

+0

什么是php json解析的javascript代码? – endyourif 2012-09-24 01:57:11

相关问题