JSON响应可以没有“字符串化”值吗?

时间:2012-03-21 11:15:06

标签: asp.net json extjs4

通过JSON元数据重新配置ExtJS,发现我需要提供一些javascript函数作为再次配置列的一部分。

如果函数被引号括起来,函数就不会被解释为函数,那么是否可以返回带有非引号值的JSON?

理想情况下,我会有像

这样的东西
{"d":{
    "metaData": {
        "root": "d.data",
        "fields": [{
            "type": "date",
            "name": "Date",
            -->"renderer": formatDate,
            "dateFormat": "c",
            "convert": function (newValue, model) {
                    return Ext.Date.parse(newValue, "MS");<--
                },
            "header": "Date",
            "dataIndex": "Date"
        }, {
            "type": "string",
            "name": "Notes",
            "header": "Notes",
            "dataIndex": "Notes"
        }, {...

我也在使用C#,所以我会将JSON作为Dictionary<string,object>返回吗?

1 个答案:

答案 0 :(得分:0)

严格来说,Json不能有功能。但是,您可以将其存储为字符串,然后“评估”它

...
"convert": "function (newValue, model) { return Ext.Date.parse(newValue, 'MS'); }", //As a string
...

然后你这样做来执行它(假设字符串化的函数在convert var中):

var func = eval('(' + convert +')');
alert( func(3, 5) ); //Just call it as a normal function now.

希望它有所帮助。 欢呼声。