生成JSON数组

时间:2014-12-21 12:06:41

标签: javascript php json typo3

我想用PHP生成一个JSON数组,但它不能很好地工作。

我的PHP数组如下所示:

protected $resultArray = array("1.0" => 0, "1.3" => 0);

然后我这样做:

return json_encode($resultArray);

然后我得到了这个:

var array = [{"1.0":2,"1.3":1}];

为什么"替换为"

3 个答案:

答案 0 :(得分:2)

quot;是一个编码为HMTL的引号字符(")。 json_encode()不会生成HTML编码序列。

return替换为echo中的return json_encode($resultArray);,您可以自行查看。

最有可能将返回的字符串进一步传递给通过htmlspecialchars()htmlentities()运行它的函数,如果将它放入HMTL上下文中,这是使用它的正确方法。

如果只需要输出json_encode() - ed字符串,请使用其他查看器类。我不知道TYPO3,但我想你应该使用JsonView;按原样传递$resultArray,它会为您调用json_encode()

答案 1 :(得分:1)

我认为您可以在wamp服务器中使用扩展库我测试了这段代码并且它工作正常

   $str = "<div style='position:relative'><img src='/assets/ui/success.png' /><span 
   style='position:relative;top:-15px;'>Nachricht empfangen!</span></div>";

   echo json_encode(array('prompt' => $str));

//输出

//{"prompt":"<div style='position:relative'><img src='\/assets\/ui\/success.png' \/><span   style='position:relative;top:-15px;'>Nachricht empfangen!<\/span><\/div>"}

答案 2 :(得分:0)

谢谢你的帮助!

解决方案是(仅适用于拼写错误3)。要在视图中获得正确的JSON-Array,必须通过以下方式改进JS代码:

var array = {f:format.htmlentitiesDecode(value:chartarray)};