2017-04-06 12 views
0

nodejsからejsに1つのjson文字列変数を渡しています。値のシングルクォートのためにjson文字列を解析できません

例えばstringJson = "{" OBJ ": "それは働いていない"}"

私は= '<% - stringJson%>' のvar stringifiedJson使用してスクリプトタグ内EJSにこの値を取得しています

ページがレンダリングされているときに、stringJson値に一重引用符が含まれているため、「SyntaxError:missing; before statement」というエラーが表示されます。

"\ '"と一重引用符を置き換えることができるようないくつかのソリューションを見つけましたが、このソリューションの問題は、ノードからejsに多くのjsonString変数を渡しています。だから私はすべての変数で同じことをしている。

私はまた、 '' 囲まず

<script> 
    var stringifiedJson = <%- stringJson%> 
</script> 

以下のようないくつかのソリューションで見られます。そのエラーを表示するには "expression required"エラーが発生します。

私はJsonStringとJsonオブジェクトを解析できる他の方法はありますか?そのような

答えて

0

何かが動作します:答えのための

res.render('index.ejs', { stringJson: {"obj": "it's not working"} });

+0

ありがとう:

<p>stringJson.obj: <%= stringJson.obj %></p>

を私はこれを試し、エラーがサーバーの応答から来ると思います。 エラーがサーバーからではないことを確認しました。 サーバーからjson文字列化されたデータを渡しています。

stringJson.obj:<%= stringJson.obj%>

jsonオブジェクトでstringJsonを解析する必要があるため、これは機能しません。 と私はスクリプトタグで操作しています。 –

+0

多分これは助けることができます: http://stackoverflow.com/questions/28603658/can-a-js-script-get-a-variable-written-in-a-ejs-context-page-within-the-same -fil –

関連する問題