Json使用字符串转换处理Smarty问题

时间:2018-01-04 07:07:27

标签: php json smarty

我在DB中将以下值保存为json_encode。

[{"file_name":"banner.png","file_db_id":"86f98f62-fa4a-31b6-5f53-5a4dba828e8d","file_tag":"Nails"},{"file_name":"Safari.png","file_db_id":"9eb100df-dde7-e141-146f-5a4dba35b83c","file_tag":"Spa"}]

当我在Smarty中获得值时,我将值作为文本。我试图访问如下的值,但它不打印任何东西。

{foreach from=$valueJSON item=fileValues key=FileIndex}
  {assign var=fileItem value=$fileValues|json_decode:1}
       {$fileItem->file_name} 
{/foreach}

在TPL中提供{$valueJSON}值只会提供上面的确切JSON流。 如何遍历值或将此$valueJSON更改为正确的json对象以访问值。

编辑:  下面的代码没有打印

{foreach from=$valueJSON item=fileValues} {$fileValues|json_decode:1} {/foreach} 如果我删除了json_decode:1,它会显示值[{“file_name”:“banner.png”.....

1 个答案:

答案 0 :(得分:0)

json_decode:1应用于foreach中的$ valueJSON是否足够?

{foreach from=$valueJSON|json_decode:1 item=fileValues key=FileIndex} ...

我在这种情况下你不需要在assign中使用json_decode。