Php 小枝上可见的Symfony学说

Php 小枝上可见的Symfony学说,php,json,symfony,doctrine-orm,twig,Php,Json,Symfony,Doctrine Orm,Twig,我有字段类型 /** * @var array * * @ORM\Column(name="raw", type="json_array", nullable=true) */ private $raw; 我在这个字段中设置了数据格式json $jsonRaw = array( 'repository_language' => $repository['language'], 'used_lang

我有字段类型

 /**
 * @var array
 *
 * @ORM\Column(name="raw", type="json_array", nullable=true)
 */
private $raw;
我在这个字段中设置了数据格式json

 $jsonRaw = array(
                    'repository_language' => $repository['language'],
                    'used_languages' => $languages,
                    'commits' => $commits,
                    'scooped_branch' => $sha,
                    'first_commit' => empty($this->committer[0]['author']) ? null : $this->committer[0],
                    'last_commit' => empty($this->committer[1]['author']) ? null : $this->committer[1]
                );
并在实体中设置

$entity->setRaw(json_encode($jsonRaw));
然后我在这个字段中有数据,我在模板中呈现这个字段,但有错误

                {% for languages in project.raw.used_languages|json_decode %}
                    <div class="row col-sm-2" style="position: relative; text-align: center; margin: 0; padding: 0;">
                        <small style="color: #00312f;">
                            <strong>{{ languages.lang }}</strong>:<br>
                            {{ languages.percent|round(1, 'floor') }}%<br>
                        </small>
                    </div>
                {% endfor %}

Impossible to access an attribute ("used_languages") on a string variable ("{"repository_language":"PHP","used_languages":[{"lang":"PHP","percent.....
Impossible to access an attribute ("used_languages") on a string variable ("{"repository_language":"PHP","used_languages":[{"lang":"PHP","percent":75.976812123425},{"lang":"JavaScript","percent":13.194136518949},{"lang":"CSS","percent":10.829051357625}],
并尝试使用

               {% for languages in project.raw.used_languages|json_decode %}
                    <div class="row col-sm-2" style="position: relative; text-align: center; margin: 0; padding: 0;">
                        <small style="color: #00312f;">
                            <strong>{{ languages.lang }}</strong>:<br>
                            {{ languages.percent|round(1, 'floor') }}%<br>
                        </small>
                    </div>
                {% endfor %}

请帮助,我不知道(

您只需在通过键访问元素之前应用过滤器json_解码,如@Snoozer示例:

{% set raw = project.raw | json_decode %} {{ raw.used_languages }}

在通过键{%set raw=project.raw{124; json_decode%}{{raw.used_languages}}访问元素之前应用过滤器json_decode Snoozer:thnks非常匹配
{% set raw = project.raw | json_decode %} {{ raw.used_languages }}