CodeIgniter:json_decode 数组问题
Posted
技术标签:
【中文标题】CodeIgniter:json_decode 数组问题【英文标题】:CodeIgniter: json_decode array issues 【发布时间】:2011-02-19 04:35:20 【问题描述】:在我的客户端,我正在使用 jQuery 发送一个 ajax 请求:
$.post(script.php, "var1":"something", "var2":"[1,2,3]" , function(data) , "json");
在服务器端,在 CodeIgniter 的控制器中,我收到如下值:
$var1 = trim($this->input->post('var1'));
$var2 = trim($this->input->post('var2'));
我的问题是如何将$var2
中的字符串转换为PHP 数组。
我尝试使用json_decode($var2, true)
,但它返回null
,因为“[1,2,3]”本身不是合法的JSON字符串。
另外,如果您认为我有更好的方法来读取服务器端的值,请告诉我如何。
谢谢。
【问题讨论】:
【参考方案1】:正如@Galen 在他对我的问题的评论中所说,它有效。
我从json_decode
得到null
的原因是因为它尝试了一个非数组值,这需要一个双倍的"
。
【讨论】:
【参考方案2】:你可以这样做:
$var2 = trim($this->input->post('var2'), "[]");
$array = explode(",", $var2);
【讨论】:
我想过这个,但我不想这样做。今天是一个简单的数组,明天是更复杂的数组数组结构,等等。以上是关于CodeIgniter:json_decode 数组问题的主要内容,如果未能解决你的问题,请参考以下文章
php 5.1.6 json_encode 和 codeigniter