0

嗨,我在 JSON 解码中遇到了一个奇怪的问题,JSON 在本地被正确解码,但在我的服务器上,json_decode 函数返回 NULL。

这是我从测试页面发布的 JSON:

[
  {
    "pictureTaken": 0,
    "unit_id": 20192,
    "id": 2,
    "deficiency_id": 155,
    "last_modifier_id": 4,
    "comments": "Living room",
    "level": 3,
    "location": "Living room",
    "property_id": 26,
    "inspectable_item_id": 44,
    "building_id": -769876698
  }  
]

现在当我这样做时,var_dump(json_deocde($_POST['data'], true));我得到 NULL 响应。

当我这样做时,echo $_POST['data'];我得到:

[ { \"pictureTaken\": 0, \"unit_id\": 20192, \"id\": 2, \"deficiency_id\": 155, \"last_modifier_id\": 4, \"comments\": \"Living room\", \"level\": 3, \"location\": \"Living room\", \"property_id\": 26, \"inspectable_item_id\": 44, \"building_id\": -769876698 } ]

我认为由于这些\"json_decode 不起作用,请帮助我解决此问题,

一些服务器信息:

PHP 版本 5.2.17 json 版本 1.2.1

4

2 回答 2

3

您在服务器上启用了魔术引号。禁用它们。

于 2013-08-30T16:56:47.467 回答
0

你总是可以这样做: var_dump(json_deocde(str_replace("\",$_POST['data']), true));

这将从您的json字符串中删除斜杠

于 2013-08-30T17:55:25.957 回答