导致我的代码出错的原因是什么?
$query = $this->db->query("SELECT * FROM tour_foreign ORDER BY id desc");
$data = array();
foreach ($query->result() as $row)
$data[] = array('guide' => $row->guide);
echo json_decode($data); //Line 167
错误:
erro: json_decode() expects parameter 1 to be string, array given: Line Number: 167
更新
如果使用json_encode
,而不是json_decode
我的输出是这样的:
[{"guide":["\u0633\u06cc\u062f \u0633\u0639\u06cc\u062f \u062f\u0627\u062f\u0627\u0634\u0632\u0627\u062f\u0647"]},{"guide":["\u0633\u06cc\u062f \u0633\u0639\u06cc\u062f \u062f\u0627\u062f\u0627\u0634\u0632\u0627\u062f\u0647"]},{"guide":null}]
他们是波斯语。
答案 0 :(得分:42)
我认为您需要json_encode
,而不是json_decode
。
答案 1 :(得分:13)
将解码设置为 true
您的解码未设置为true。如果您无权将源设置为true。下面的代码将为您解决。
$WorkingArray = json_decode(json_encode($data),true);
答案 2 :(得分:2)
json_decode()用于将json字符串解码为数组/数据对象。 json_encode()从数组或数据创建一个json字符串。您正在使用我的朋友的错误功能,请尝试json_encode();
答案 3 :(得分:2)
您需要设置为true。如果您无权访问源代码,请对其进行解码。
$answer = json_decode(json_encode( $_GET['json'] ), true );
答案 4 :(得分:1)
这是我从用户个人资料facebook json object
中提取名称时面临的类似问题的解决方案$uname=json_encode($userprof);
$uname=json_decode($uname);
echo "Welcome " . $uname -> name ;
答案 5 :(得分:0)
制作对象
$obj = json_decode(json_encode($need_to_json));
显示此$ obj
中的数据 $obj->{'needed'};
答案 6 :(得分:0)
好,我遇到了同样的问题。我没有注意到的是,我使用的是 json_decode()而不是 json_encode(),所以对于那些会来这里的人,请确保您使用的是正确的函数,它是 json_encode()
注意:取决于您的工作,但请确保使用正确的功能。