2017-03-26 9 views
0

のスラッシュ:{ "email", "color" }エクストラデータベースでJSONレスポンス

しかし、私はapplication/json' => \yii\web\Response::FORMAT_JSONを使用して出力にそれをしようとすると、文字列は、余分なスラッシュ

[ 
     "Verify", 
     "{ \"email\", \"color\" }" 
    ] 

が含まれている私は、ソートのreplace()を使用することができますが、できることを知っています誰かがこのシナリオで私を啓発しますか?

+2

データは既にjsonに入っていますので、テキストで表示しようとしています – webDev

+0

"extra slashes"は含まれていません。 nはJSON文字列としてエンコードされます。 –

+0

@ IgnacioVazquez-Abramsので、私は電子メールと色文字列を取得するための最良の方法は何とかそれを解析することです? – bumbumpaw

答えて

1

@webDavには、ほぼ正しい答えがあります。

データベースのデータを別のデータ構造に組み込んでいるようです。したがって、まずデータベースからJSONを解析し、データをエンコードする前にそのデータをデータに組み込む必要があります。

DBから生の文字列(JSONに似ています)を取得するのではなく、意味を持たせるためにJSONに変換する必要がある文字列です。あなたは夜のケースで持っているスラッシュwhitoutコンテンツ

のcorret使用を破る不適切な引用符のシーケンスを防ぐため

1

エンコードはスラッシュを追加

"{ "email", "color" }" // that is not correctly formateed 

あなたが既に持っているあなたは、データベース内の値の周りに引用..データは既にjson形式になっていますので、エンコードせずに使うことができます

+0

'{" email "、" color "}'は有効なJSONではありません。 –

+0

。@ IgnacioVazquez-Abramsありがとうございました...ごみを取り除きました – scaisEdge

+0

ええ、非JSONをオブジェクトに解析し、それを組み込み、JSONとして再エンコードする必要があります。 –

0

すでにjsonでエンコードされたデータをエンコードしようとしているようです。

結果として、文字をエスケープします。

あなたは2つのオプションがあります:

  1. すると、その後、そのJSONデータを追加したり、結合する必要がある場合は、戻り

json_decode()とデータをデコード

  • 再びJSONにそれをフォーマットしないでください#2はあなたの唯一のオプションです