例如我的JSON字符串是這樣的:JSON字符串函數調用
{
"v1" : [],
"v2": 2,
"v3": f()
}
現在,我需要解碼此爲f
和f()
的定義範圍內給出正確的答案在這方面(通過檢查調試器)。但是JSON.parse(jsonstring)
給我Unexpected token
。 eval
也給出錯誤。我該怎麼辦?
看到一個例子Here
例如我的JSON字符串是這樣的:JSON字符串函數調用
{
"v1" : [],
"v2": 2,
"v3": f()
}
現在,我需要解碼此爲f
和f()
的定義範圍內給出正確的答案在這方面(通過檢查調試器)。但是JSON.parse(jsonstring)
給我Unexpected token
。 eval
也給出錯誤。我該怎麼辦?
看到一個例子Here
爲什麼它不工作
看一個JSON的definition,它不能包含函數調用。
可能的解決方法
一種方法是做這樣的事情,回報你要調用的函數的字符串。
{
"v1" : [],
"v2": 2,
"v3": "f"
}
現在當您需要訪問它時,您可以調用該函數。
var myJSON = JSON.parse(jsonstring);
var myFunctionResult = window[myJSON.v3](); //works if global variable
其他選項是改變你的代碼是如何工作的,讓一個異步腳本調用[jQuery的是getScript
,常規的JavaScript createElement("script")
與appendChild()
和使用回調像JSONP一樣。
好吧,但我想你明白我想要的結果。請作出相應迴應。 – prongs 2012-07-13 13:56:55
使用可能的解決方案對其進行了更新[s]。 – epascarello 2012-07-13 14:14:46
這不是一個JSON字符串:「F()」 。閱讀http://www.json.org/ – 2012-07-13 13:54:31