将逗号分隔值的字符串转换为JSON数组

时间:2014-09-08 07:55:00

标签: php jquery json

如何使用php或jquery将逗号分隔值的字符串转换为有效的json?

逗号分隔的字符串存储在数据库中,如下所示:

Singapore,Andora,Australia

我需要的输出是这样的:["Singapore","Andora","Australia"]

我尝试在字符串上使用php的json_encode,但这并不像我需要的那样呈现json。它执行此操作"Singapore,Andora,Australia"

任何方式我都能按照我想要的方式得到它?

6 个答案:

答案 0 :(得分:4)

拆分字符串,然后对数组进行编码:

$str = "Singapore,Andora,Australia";
$splitted = explode(",", $str);
print_r(json_encode($splitted));
// output : ["Singapore","Andora","Australia"]

Example in sandbox

答案 1 :(得分:1)

explodeDocs)字符串(使其成为数组),然后使用json_encode函数将其转换为json。

答案 2 :(得分:0)

编码前你有explode() PHP字符串吗?

json_encode(explode(',', $string));

答案 3 :(得分:0)

PHP解决方案:

$raw = "Singapore,Andora,Australia";
// Use explode() to parse the string into an array
$parsed = explode(",",  $raw);
// Encode the resulting array as JSON
$encoded = json_encode($parsed);

JavaScript / jQuery中的解决方案:

var encoded = JSON.stringify("Singapore,Andora,Australia".split(","));

答案 4 :(得分:0)

Jquery: 对于Array,

var array = myString.split(',');

For String,

var string = JSON.stringify(array);

答案 5 :(得分:0)

简单如下:

var data = "Singapore,Andora,Australia".split(",");
console.log(data); //["Singapore", "Andora", "Australia"]

多数民众赞成将返回一个包含三个值的数组