json_encode
(PHP関数を使用して)JSONで画像のURLを返すPHPWebサービスに接続しています。
私はmootools1.2.5システム内で作業していますが、これは携帯電話でも動作する必要があります。
データで返される画像ノードの形式は次のとおりです。
"thumb": "<img src=\"http://photos.imgserv.com/201107222000000.jpg\" />"
何らかの理由で、response.JSONを渡すと、iphoneとandroidにNULL値が表示されます。response.textオブジェクトを問題なく渡すことができますが、二重引用符が適切にエスケープされていないため、JSON.decodeは失敗します。次のように、画像タグにダブルバックスラッシュを手動で追加すると、次のようになります。
"thumb": "<img src=\\"http://photos.imgserv.com/201107222000000.jpg\\" />"
すべて設計どおりに機能します。\"
ただし、元のresponse.textのを。に置き換えるための適切な正規表現を取得するのに時間がかかり\\"
ます。
response.JSONを携帯電話に処理する「正しい」方法はありますか。あるいは、これらのエスケープ文字を処理するためにstring.replace()正規表現を適切に記述する方法はありますか?
ありがとう!
追加する編集:
問題を示すために、シングルバックスラッシュとダブルバックスラッシュが付いた2つのjsfiddleを次に示します。
シングルバックスラッシュ(正しくデコード/解析されません)-http://jsfiddle.net/Qde6F/ ダブルバックスラッシュ(正しくデコード/解析されません)-http://jsfiddle.net/Qde6F/1/