PHP - 检索json字符串的第一个元素而不转换为数组

时间:2011-05-11 12:47:43

标签: php json

我有一个json字符串,我目前正在探讨如下:

$playedOn = $query -> data -> artist -> services_played_on

我现在想得到这个services_played_on的第一个元素,但我不确定如何做到这一点..如果它是一个数组我只需要查询[data] [artist] [services_played_on] [0],但是由于各种原因,这会弄乱我拥有的其他代码。任何人都有任何想法如何使用->表示法来完成此操作?

- - - - - - - - 编辑

感谢您的回答,但我需要的是:

$playedOn = $query -> data -> artist -> services_played_on[0]

(我不能将此作为答案提交,因为我是'新'用户)

2 个答案:

答案 0 :(得分:8)

首先decode the JSON

$jset = json_decode($json, true);
echo $jset["data"]["artist"]["services_played_on"][0];

答案 1 :(得分:5)

我没有看到你的问题。如果它是JSON,只需将其反序列化为PHP,如@Marcel所说。

如果您希望结果为JSON,只需将其序列化即可。

示例:

$json = '[ {"a":1} , {"d":3} , {"b":2} ]';

$data = json_decode( $json );

$new = json_encode( $data[1] ); // $new is now '{"d":3}'

由于您的问题很模糊,我不确定您是希望结果是JSON编码还是您想以自己的方式拆分字符串。