2016-04-28 4 views
0
私はJSON文字列に二重引用符を取り除くために必要

に二重引用符を退治する、これは私がダンプ時に私の見解の中にJSONはJSON

$dinnerDetails = array(); 
foreach ($dinners as $dinner) { 
    $dinnerDetails[] = array(
     "title" => $dinner->getName(), 
     "data" => $dinner->getDate() 
    ); 
} 

$dinnerDetails = json_encode($dinnerDetails); 

に変換し、その後アレイを形成しています方法です$dinnerDetails私は、次の

string '[ 
    { 
     "title": "Formal Dinner", 
     "data": "Tue Apr 05 2016 05:00:00 GMT+0500 (PKT)" 
    }, 
    { 
     "title": "Formal Dinner", 
     "data": "Tue Apr 05 2016 05:00:00 GMT+0500 (PKT)" 
    }, 
    { 
     "title": "Black Tie", 
     "data": "Wed Apr 13 2016 05:00:00 GMT+0500 (PKT)" 
    }, 
    { 
     "title": "Formal Dinner", 
     "data": "Fri Apr 08 2016 05:00:00 GMT+0500 (PKT)" 
    } 
] 

を見て、私はJS変数にこれを割り当てるとき、これはソース

var dinners = [ 
    { 
     "title": "Formal Dinner", 
     "data": "Tue Apr 05 2016 05:00:00 GMT+0500 (PKT)" 
    }, 
    { 
     "title": "Formal Dinner", 
     "data": "Tue Apr 05 2016 05:00:00 GMT+0500 (PKT)" 
    }, 
    { 
     "title": "Black Tie", 
     "data": "Wed Apr 13 2016 05:00:00 GMT+0500 (PKT)" 
    }, 
    { 
     "title": "Formal Dinner", 
     "data": "Fri Apr 08 2016 05:00:00 GMT+0500 (PKT)" 
    }, 
    { 
     "title": "Formal Dinner", 
     "data": "Sat Apr 16 2016 05:00:00 GMT+0500 (PKT)" 
    }, 
    { 
     "title": "Formal Dinner", 
     "data": "Mon Mar 28 2016 05:00:00 GMT+0500 (PKT)" 
    } 
]; 
でそれを見る方法です

Iはsymfonyフレームワークを使用しています、これは私が

return $this->render('AppBundle:admin/college:edit.html.twig', array(
    'dinners' => $dinnerDetails 
)); 

を表示する$dinnerDetailsを通過していますし、その後枝内側私も試みJSでこの

var dinner = jQuery.parseJSON(dinners);

等JS変数に代入していますどのようにJSON.parse(dinners.replace(""",'"'));をやっていますが、これは役に立ちません。

私が探しています出力は、私はここに助けを本当に感謝します。この

[ 
        { 
         title: "All Day Event", 
         date: "Fri Apr 08 2016 05:00:00 GMT+0500", 
        }, 
        { 
         title: "Long Event", 
         date: "Fri Apr 08 2016 05:00:00 GMT+0500", 
        }, 
] 

のようなものです。

+2

JavaScript変数に '$ dinnerDetails' PHP変数をどのように割り当てるのですか?親切にコード –

+0

を教えてください。https://jsfiddle.net/7obbbn4n/ – AshBringer

+0

symfonyのフレームワークは、HTMLコード化されているかのように自動的に処理するようです。これは私がよく知っていることではありませんが、代わりに 'dinners'や' $ dinnerDetails'がJSエンコード、あるいはエンコードされていないことを伝える別の 'render'メソッドがあるかどうかを調べるべきです。 –

答えて

0

テンプレートでraw-filterをお試しください。このようなもの:

{{ dinners|raw }} 

2nd。 PHPオブジェクトをJSON文字列にシリアル化しています。
この文字列をスクリプトブロック内に貼り付けると、この文字列はとなり、JSとして解釈されます。となります。
これはJSコードであり、もはや文字列ではありません。あなたはそれを解析する必要はありません。実際には解析できません。

<script> var dinner = {{ dinners|raw }}; </script> 
+0

私はこれを考えていたはずですsooooありがとうありがとう:) – Saadia

0

あなたのコントローラやPHPファイルの中で、以下のコードを使用してください。

<?php 
$arrDinnerDetails = array(); 
foreach ($dinners as $dinner) 
{ 
    $arrDinnerDetails[] = array(
     "title" => $dinner->getName(), 
     "data" => $dinner->getDate() 
    ); 
} 
return $this->render('AppBundle:admin/college:edit.html.twig', array(
      'arrDinnerDetails' => $arrDinnerDetails 
     )); 
?> 

以下のコードを使用してください。

<script> 
    var strJsonDinner = JSON.stringify('<?php echo json_encode($arrDinnerDetails); ?>'); 
</script>