JSON编码包含引号的关联数组

时间:2016-07-02 03:41:02

标签: php arrays json

我有一个关联数组:

$contents = array();
$contents["notes"] = "this doesn't seem like it will work";

(为简单起见,上面的字符串实际上并没有在我的代码中内联定义,而是从MySQL DB中获取)

当我这样做时:

 echo json_encode($contents, JSON_HEX_APOS); 

它无声地失败,我没有看到任何输出发送到javascript。

但是,如果数组$contents不是关联的,JSON_HEX_APOS似乎会按原样转换引号,而json_encode的效果非常好。

2 个答案:

答案 0 :(得分:1)

这不是有效的PHP数组定义。请改为尝试,

  • 使用PHP< 5.4:$contents = array("notes => "it'll work!")
  • 使用PHP> = 5.4:与上述相同或$contents = ["notes" => "yey"]

然后你的回声应该有用。

- 编辑 根据您的编辑,阵列现在看起来很好。如果这不是问题,请使用echo json_last_error()

检查编码错误

答案 1 :(得分:1)

Json_encode通常将数组作为参数。 你的代码几乎没问题。 只是稍微调整一下这个  

$ contents = array();
$ contents [“notes”] =“这似乎不会起作用”;

echo json_encode(array(“data”=> $ contents),JSON_HEX_APOS);