內部功能我想以下幾點:jQuery的parseJSON和JSON字符串
var objJson = jQuery.parseJSON('"myFunc": function(){ ... }');
這種失敗。現在我的問題是:爲什麼它會失敗,我怎麼能實現我想要的?
預先感謝您!
內部功能我想以下幾點:jQuery的parseJSON和JSON字符串
var objJson = jQuery.parseJSON('"myFunc": function(){ ... }');
這種失敗。現在我的問題是:爲什麼它會失敗,我怎麼能實現我想要的?
預先感謝您!
OK,下面的工作對我來說(應該用Google搜索的時間長一點):
var o = eval('(' + '"myFunc": function(){ ... }' + ')')
這可能永遠不會奏效。字符串中的圓括號應該是大括號:'eval('{'+'「myFunc」:function(){...}'+'}')'相當於'var o = {myFunc:function ){...}}'.' –
你似乎有一個關於JSON是什麼誤解。 JSON是一種簡單的數據格式,其語法類似於JavaScript對象。這很簡單,spec適合一個頁面。如果你有它的功能,它不是JSON。因此使用JSON工具沒有意義。
現在,注入外部JavaScript代碼到HTML文檔的常用方法是<script>
tag:
+1因爲我同意你的看法。描述JSON格式的[RFC 4627](http://www.ietf.org/rfc/rfc4627)也沒有包含任何關於函數的內容。關於維基百科中的JSON的文章有特殊的段落[不支持的本地數據類型](http://en.wikipedia.org/wiki/JSON#Unsupported_native_data_types),其中可以找到函數。 – Oleg
將這項工作使用eval?這是一個封閉的系統,所以安全性並不是真正的問題。編輯:把這個答案,我會檢查它;-) –
我認爲我們需要定義*什麼*你試圖實現之前,我們可以提供一個解決方案。傳遞給'parseJSON'方法的字符串內容格式不正確,另外JSON不傳遞函數定義,即使它被解析,它也會導致一個空對象。你的目標是什麼*? –
相關:http://stackoverflow.com/questions/2001449/is-it-valid-to-define-functions-in-json-results –