在Php中从Json中提取数据

时间:2016-01-14 13:32:24

标签: php json

我有这个Json对象下面,我想提取这些数据并在PHP中输出

{"seat_booked":"A5","0":"A5","1":"A3"}

然后让他们进入这种格式

$seat_booked = "'A5', 'A5', 'A3'";

我该怎么做?

3 个答案:

答案 0 :(得分:2)

我希望您使用json_decode()

来寻找这个非常简单的例子
$string = '{"seat_booked":"A5","0":"A5","1":"A3"}';
$decoded = json_decode($string,true);
$resuiredString = '"'."'".implode("','", $decoded)."'".'"';

echo $resuiredString;

<强>结果:

"'A5','A5','A3'"

旁注:

我建议你学习变量连接。

PHP Concatenation

答案 1 :(得分:0)

要从php中的json获取对象,可以使用json_decode解释here

但是你有另一个问题,你的json错了! 如果你想表示一个单维数组,你至少应该这样做

["A5","A5","A3"]

最后,使用json_decode:

$obj = json_decode('["A5","A5","A3"]');
var_dump($obj);

此外,您可以执行以下操作:

{"0":"A5","1":"A5","2":"A3"}
$obj = json_decode('{"0":"A5","1":"A3", "2": "A5"}', true);
var_dump($obj);

修改

如果您试图从json中取回一个对象,或者您只是想从中获取一个字符串,那么您的问题就不是很清楚了。

如果您需要的是字符串,那么您甚至不需要json,您可以通过字符串操作和/或使用正则表达式来完成此操作。

但是为了完整性,如果你需要引用逗号分隔字符串,你可以这样做:

$array = json_decode('["A5","A5","A3"]');
$str = implode("','",$array);
$str = "'" . $str . "'";
var_dump($str);

答案 2 :(得分:0)

另一种解决方案:

$json = '{"seat_booked":"A5","0":"A5","1":"A3"}';

$decoded = array_map(
    function($val) { 
        return "'". $val."'";
    }, 
    array_values(json_decode($json, true))
);