【问题标题】:How to transform a JSON String into PHP array如何将 JSON 字符串转换为 PHP 数组
【发布时间】:2012-01-24 08:12:57
【问题描述】:

一个 JSON 字符串通过 HTTP 请求发送到我的网络服务,它看起来像这样:

[\"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: ''

【问题讨论】:

标签: php json


【解决方案1】:
$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"])

【讨论】:

  • 但是我需要将var_dump 的返回值存储到一个数组中以便以后处理,var_dump 没有返回。
  • @Malek 你可以做你所做的,$list=json_decode($_POST["The_JSON_Parameter"],true)var_dump 只是为了显示结果。
  • @xdazz,这很奇怪。这对带有重音字母的我不起作用。你知道我需要修复什么 php 设置吗?
  • @Walkerneo 请注意json_decode 仅适用于 UTF-8 编码的数据。
  • @xdazz:请看一下我的编辑。
【解决方案2】:

如果你试试这个代码:

$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\"]" 吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-20
    • 2017-07-20
    相关资源
    最近更新 更多