2015-09-29 45 views
0

我有兩個數組從我的控制器傳遞到我的樹枝模板。然後,這個樹枝模板將這些值傳遞給我的JavaScript文件,但它們最終的結果是不正確的。JSON字符串在樹枝模板中傳遞不正確

//Controller 

return $app['twig']->render({template_name}, array(
    'cities' => $this->cities, 
    )); 

在我的樹枝模板我有下面的代碼片段:

var cities = "{{ cities|json_encode(constant('JSON_PRETTY_PRINT')) }}"; 

我都接着Sensio公司的實驗室文件提出的建議,這似乎並沒有爲我工作。

我結束了一個JSON字符串,如下所示:

{"B01":["Gaborone"]...} 

另外JSON_PRETTY_PRINT被說成是不限定。如果我刪除這個常量,那麼錯誤消失了。對我來說最重要的是要有正確的json格式,並且我已經嘗試了所有通過網絡發佈的建議。

關於如何讓我的json能夠正確輸出的任何建議?

+0

在php5.4加入JSON_PRETTY_PRINT,您使用的是什麼版本? – Maerlyn

+0

在我的本地開發中,我有5.3。每當我試圖改變我的AMP版本的AMPPS似乎沒有拿起它,我不知道爲什麼。 – Maximum86

回答

1

我認爲你應該使用原始過濾器,如:

var cities = "{{ cities|json_encode(constant('JSON_PRETTY_PRINT'))|raw }}"; 
+0

由於我不能將PHP版本更改爲5.4,我寧願用ajax調用填充我的下拉菜單,而不是像@Maerlyn指出的那樣。我仍然會在我的Wamp服務器上在家測試您的解決方案,並在您的解決方案上反饋您的意見。謝謝。 – Maximum86