在Smarty中,有没有标准函数或从数组生成json的简单方法,就像json_encode()在php中一样?实际上似乎没有聪明的文档,但无论如何都想问.
谢谢,思南.
Tom*_*igh 76
这应该工作.@使smarty对整个数组运行修饰符,否则它为每个元素执行.
{$myarray|@json_encode}
Run Code Online (Sandbox Code Playgroud)
如果启用了$ escape_html,则需要使用nofilter
:
{$myarray|@json_encode nofilter}
Run Code Online (Sandbox Code Playgroud)
m_k*_*kis 10
虽然{$myarray|@json_encode}
实际上发出了以json编码的数组,但它也会转义特殊字符,使得数组在javascript中无法使用.
为了避免转义特殊字符并且还能够在javascript中使用数组,请使用nofilter标志:
{$myarray|@json_encode nofilter}
Run Code Online (Sandbox Code Playgroud)
小智 6
您必须json_encode()
在 php 代码中使用,然后使用$smarty->assign()
函数将值分配给 smarty
。之后,您必须使用 javascript 解析模板文件中的该值。
代码片段:
{literal}
<script>
var json = JSON.parse('{/literal}{$your_json_encoded_array}{literal}');
//another statement
</script>
{/literal}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
42277 次 |
最近记录: |