【问题标题】:Json handling in Smarty Issue with string conversion带有字符串转换的 Smarty 问题中的 Json 处理
【发布时间】:2018-01-04 07:07:27
【问题描述】:

我将以下值保存为数据库中的 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".....

【问题讨论】:

    标签: php json smarty


    【解决方案1】:

    json_decode:1 应用到 f​​oreach 中的 $valueJSON 是否足够?

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

    在这种情况下,您不需要分配中的 json_decode。

    【讨论】:

    • 我之前确实尝试过,它甚至没有进入带有该语句的循环。如果我删除 json_decode:1,下面的代码不会打印任何内容,它会显示值 [{"file_name":"banner.png"..... {foreach from=$valueJSON item=fileValues} {$fileValues|json_decode:1} {/foreach}
    猜你喜欢
    • 2019-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    • 2016-04-25
    • 2018-11-27
    相关资源
    最近更新 更多