ホームページ >バックエンド開発 >PHPチュートリアル >Twig テンプレート内の JSON データをデコードするにはどうすればよいですか?

Twig テンプレート内の JSON データをデコードするにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-10 04:18:02377ブラウズ

How Can I Decode JSON Data Within My Twig Templates?

Twig での JSON のデコード

Twig での JSON のデコードは、Twig テンプレートで複雑なデータ構造を扱う場合に便利なテクニックです。検索しても、このトピックに関する情報が不足していることに気付いたかもしれません。

これは、Twig が JSON デコードをネイティブにサポートしていないためです。ただし、Twig の機能を拡張して JSON データをデコードすることは簡単にできます。

Twig で JSON をデコードするには、カスタム拡張機能を作成しましょう:

namespace Acme\DemoBundle\Twig\Extension;

use Symfony\Component\DependencyInjection\ContainerInterface;  
use \Twig_Extension;

class VarsExtension extends Twig_Extension
{
    protected $container;
 
    public function __construct(ContainerInterface $container) 
    {
        $this->container = $container;
    }
      
    public function getName() 
    {
        return 'some.extension';
    }
    
    public function getFilters() {
        return array(
            'json_decode'   => new \Twig_Filter_Method($this, 'jsonDecode'),
        );
    }

    public function jsonDecode($str) {
        return json_decode($str);
    }
}

次に、Services.xml に拡張機能を登録します。ファイル:

<service>

最後に、Twig テンプレートで拡張機能を使用できます:

{% set obj = form_label(category) | json_decode %}

これにより、form_label(category) 変数内の JSON 文字列がオブジェクトにデコードされます。 Twig テンプレートで使用できます。

以上がTwig テンプレート内の JSON データをデコードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。