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 数组问题的主要内容,如果未能解决你的问题,请参考以下文章

将所有字段发布为数组的 Codeigniter 表单验证

如何重定向到codeigniter中的另一个函数?

php 5.1.6 json_encode 和 codeigniter

codeigniter foreach 具有相同 ID 的多个条目,对元素求和并显示为一个

CodeIgniter 将数据传递给视图

Codeigniter:将数据传递给查看未定义的变量