如何将JSON字符串转换为PHP数组

时间:2012-01-24 08:12:57

标签: php json

JSON字符串通过HTTP请求发送到我的webservice,它看起来像这样:

[\"Mairie\",\"Préfectures et sous-préfectures\"]

如何制作一个简单的php array我可以php arrays functions执行implode

我试过了,但它没有将JSON字符串转换为数组:

    $list=json_decode($_POST["The_JSON_Parameter"],true);

修改

var_dump(json_decode($_POST["The_JSON_Parameter"], true));   
$var=json_decode($_POST["The_JSON_Parameter"],true);
$in_list = "'".implode("','", $var)."'";
$myFile = "testFile.txt";
$fh = fopen($myFile, 'w') or die("can't open file");
fwrite($fh, $in_list);//in the text file i got this empty string: ''

2 个答案:

答案 0 :(得分:3)

$var = "[\"Mairie\",\"Préfectures et sous-préfectures\"]";
var_dump(json_decode($var, true));

/*result:
array(2) {
  [0]=>
  string(6) "Mairie"
  [1]=>
  (33) "Préfectures et sous-préfectures"
}
*/

工作正常,请var_dump($_POST["The_JSON_Parameter"])

答案 1 :(得分:0)

如果您尝试此代码:

$str = "[\"Mairie\",\"Préfectures et sous-préfectures\"]";
var_dump(json_decode($str,true));

你会得到:

array(2) {
  [0]=>
  string(6) "Mairie"
  [1]=>
  string(33) "Préfectures et sous-préfectures"
}

那么您确定$_POST["The_JSON_Parameter"]具有相同的值,即字符串文字"[\"Mairie\",\"Préfectures et sous-préfectures\"]"吗?