我想保存这个我的fb-login返回数据库的json数组。但是我真的不知道如何使用php将其转换为字符串。
[{"id":"108124505876479","name":"Wakeboarding"},{"id":"112003352149145","name":"Bouldering"},{"id":"110008522357035","name":"Handball"}]
我在下面尝试过这段代码,但我甚至不太确定fb登录返回是否是json数组。
$json = '{"id":"108124505876479","name":"Wakeboarding"},{"id":"112003352149145","name":"Bouldering"},{"id":"110008522357035","name":"Handball"}';
var_dump(json_decode($json));
我如何能够以字符串形式将不同的运动保存到我的数据库?
非常感谢任何帮助。
感谢。
编辑:上半部分返回NULL。
第二次编辑:
if (array_key_exists('sports', $me)){
$json = '$me['sports']'; PROBLEM IS HERE
$data = json_decode($json, true);
$sports = array();
foreach ($data as $item) {
$sports[] = $item['name'];
}
$user->fb_sports = $sports;
}
答案 0 :(得分:3)
$json = '[{"id":"108124505876479","name":"Wakeboarding"},{"id":"112003352149145","name":"Bouldering"},{"id":"110008522357035","name":"Handball"}]';
$data = json_decode($json, true);
$sports = array();
foreach ($data as $item) {
$sports[] = $item['name'];
}
如果你想用逗号分隔它们:
$output = implode(', ', $sports);
答案 1 :(得分:1)
使用:
$json = serialize($json);
答案 2 :(得分:0)
如果var_dump(json_decode($ json))返回您希望将$ json直接保存到数据库中的内容。
答案 3 :(得分:0)
$json1 = '{"id":"108124505876479","name":"Wakeboarding"},{"id":"112003352149145","name":"Bouldering"},{"id":"110008522357035","name":"Handball"}';
$json2 = '[{"id":"108124505876479","name":"Wakeboarding"},{"id":"112003352149145","name":"Bouldering"},{"id":"110008522357035","name":"Handball"}]';
var_dump(json_decode($json1,true));
var_dump(json_decode($json2,true));
注意差异
答案 4 :(得分:0)
$string=mysql_real_escape_string($json);