json_encodeを使用してphpでエンコードされている配列があります
$params = array(1=>'something','2'=>'two');
json encodeを使用してエンコードすると、それ自体は問題ない二重引用符でエンコードされますが、これをアンカータグに埋め込もうとしており、二重引用符が属性を台無しにしています。
<a class="btn ajax" data-method="test" data-params="{"one":"something","2":"two"}" href="#">test ajax link</a>
明らかに、data-params属性の2番目の二重引用符はリンクを切断しています。
したがって、私が行ったことは、文字列を一重引用符に変換することでしたが、JavaScriptで解析できるようにするには、文字列を二重引用符に再変換する必要があります。
var string = {'one':'something','2':'two'} ;
JSON.parseはその文字列で失敗します、私は試しました
var jsonString = dataParams.replace('\'', '"');
しかし、それは最初の一重引用符を変換するだけのようで、その後停止します。何か案は?