我在zend和js中遇到了json功能问题。
我尝试对包含一些模型的单个数组进行编码,如下所示:
echo json_encode(Application_Model_Marker::getMarkers());
var mark = JSON.parse(jsonVal); //in js
其中getMarkers是一个返回标记模型数组的静态方法。
这很好用,当我在js脚本中解析它并尝试访问json对象的值时,它工作正常。
但是,如果我尝试创建并发送这样的数组数组:
$allData = array();
$allData['info'] = Application_Model_Marker::getMarkers();
$allData['openingHours'] = Application_Model_Openinghours::getOpeningHours();
$allData['happyHours'] = Application_Model_Happyhour::getHappyHours();
echo json_encode($allData);
当我尝试提醒时,它仍会发送所有正确的信息(jsonVal.responseText);在js。
它有三个数组,每个数组都包含一些对象数组。
然而,当我尝试将变量初始化为解析的json对象时,就像在第一个示例中一样,我无法访问这些值,并且当我尝试它时,程序停止时会出现某种错误。
当我只是尝试从编码的json对象中打印响应文本时,我没有得到它,因为它具有所有正确的信息。
任何想法如何进行多维json编码?
答案 0 :(得分:0)
试试这个,希望它能起作用:
<sctript>
var mark;
eval("mark = "+jsonVal+";");
</sctrip>