【发布时间】:2014-02-28 05:11:58
【问题描述】:
我想将我的 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;
}
【问题讨论】:
-
到底是什么问题? json_encode 或 serialize 应该可以正常工作。
-
$json 外面应该有方括号 - 使用 jsoneditoronline.org 检查它是否是有效的 JSON。
-
并祈祷,希望您永远不必通过保存为字符串的结构化数据进行查询。因为谁需要范式?
-
我已经编辑了问题。
-
$me 等于什么?还有 $json = '$me['sports']';不是有效的代码。
标签: php mysql arrays json string