从多维数组数据生成json字符串

我使用的插件需要一个关联行数组作为JSON格式的字符串--类似于:

[
    {oV: 'myfirstvalue', oT: 'myfirsttext'},
    {oV: 'mysecondvalue', oT: 'mysecondtext'}
]

如何使用PHP将多维数组转换为有效的JSON输出?


解决方案

最简单的方法可能是从所需对的关联数组开始:

$data = array("myfirstvalue" => "myfirsttext", "mysecondvalue" => "mysecondtext");

然后使用foreach和一些字符串连接:

$jsontext = "[";
foreach($data as $key => $value) {
    $jsontext .= "{oV: '".addslashes($key)."', oT: '".addslashes($value)."'},";
}
$jsontext = substr_replace($jsontext, '', -1); // to get rid of extra comma
$jsontext .= "]";

或者,如果您使用的是最新版本的PHP,则可以使用内置的json编码函数-只需小心传递给它们的数据使其与预期格式匹配即可。

相关文章