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);
alert(jsonVal.responseText); を試行しても、すべての正しい情報が送信されます。jsで。
それぞれがオブジェクトのいくつかの配列を含む 3 つの配列があります。
しかし、最初の例のように変数を解析済みの json オブジェクトに初期化しようとすると、値にアクセスできず、試してみるとプログラムが停止するため、何らかのエラーが発生するようです。
エンコードされたjsonオブジェクトから応答テキストを印刷しようとすると、すべての正しい情報が含まれているため、よくわかりません。
この多次元jsonエンコーディングを行う方法はありますか?