2012-03-22 16 views
0

JavaScriptオブジェクトリテラルから "function"部分だけを引用符で削除するにはどうすればよいですか?例えば:Javascriptオブジェクトリテラル関数

{ "a3" : { "text" : function(a1,a2) {return a1+a2 } } 

P.Sを除去した後

{ "a3" : { "text" : "function(a1,a2) {return a1+a2 }" } 

前:PHP json_encodeは、各値の引用符を置きます。私は引用符なしでオブジェクト関数が必要です。リテラルJavaScriptのオブジェクトを持っている場合は、JSONの機能を知らないことを念頭にJSON文字列、クマを持っている場合は

+3

を使用することができ、正しい解決策は次のとおりです。機能は、あなたのプログラムの一環として生活を始めるとしているように、あなたのデザインを修正します一部のデータの一部としてロードされません。論理とデータは分離する必要があります。 – Quentin

答えて

0

、ちょうど/ echo

{ "a3" : { "text" : function(a1,a2) {return a1+a2 } } 

を書きます。 PHPのjson_encodeの動作は正しいです。あなたはこのコンテンツのソースを信頼と仮定

+0

クール、eval()でOKです。 thx – adoweb

+1

'eval'では、何も問題ありません。 – Quentin

1

は、あなたが仮定のカップルを作るeval()

someVar = eval('(' + a3.text + ')'); 
+1

evalは彼の関数に名前を付け加えないと機能しませんし、関数オブジェクト(私はそれをテストしました)を返しません。 – Deleteman

+0

あなたは正しいです、私は疑問を誤解しました。 –

+1

もちろんevalは悪ですが、言及するのを忘れないでください:-) – Bergi

関連する問題