使用 SMARTY 迭代对象?

Iterate an object using SMARTY?

我一直在尝试在 smarty(3.1.29) 中迭代 {"username":"testuser","password":"XXXXXX"}。我需要在面板中打印这些键和值。我不能重复这个。

即使我尝试使用 PHP 数组 a:2:{s:8:"username";s:6:"ubuntu";s:8:"password";s:8:"password";} 我也无法迭代它。

$json = {
           "username":"testuser",
           "password":"XXXXXX"
         }
{foreach from=$json item=key key=val} 
     Key  : {key}
     Value: {value} 
{/foreach}

有什么方法可以迭代这个吗?

我想要如下输出:

Key : testuser
Value : XXXXX

您可以先尝试将 JSON 对象转换为 PHP 数组:

$userJson = {"username":"testuser","password":"XXXXXX"}

$userArray = json_decode($userJson)

$smarty->assign("userArray", $userArray);

那么在 Smarty 中它将是:

{foreach from=$userArray key=key item=value}
   <li>{$key}: {$value}</li>
{/foreach}