解析序列化的Dictionary <string,string =“”> jquery </string,>

时间:2010-08-11 03:27:05

标签: c# asp.net jquery json

我设法序列化了一个词典集合。我将它从webservice返回到jQuery ajax作为字符串,然后我将返回值放入我声明为数组的javascript变量中:

var myHistoryList = {};

....
success: function(retVal) {
                    myHistoryList = retVal.d;                   
                }

然后我试图循环它,它似乎没有得到正确的价值。相反,它显示如下的jQuery代码:

trimStart  function(){return this.replace(/^\s+/,"")} 

这对我来说很奇怪。

继承我的javascript for循环:

for (var yahoo in myHistoryList) {
                    $('#myUseTable > tbody:last')
                        .append('<tr><td>' + [yahoo] +
                                '</td><td>' + myHistoryList[yahoo] +
                                '</td>');
                };

帮助!

2 个答案:

答案 0 :(得分:0)

jQuery或您包含的其他库扩展了Object的原型,因此所有对象都包含额外的辅助函数。您可以使用hasOwnProperty循环中的for函数来检查该条件:

for (var key in myHistoryList) {
    if (myHistoryList.hasOwnProperty(key)) {
        // do your thing
    }
}

答案 1 :(得分:0)

你也应该像这样做一个for循环:

for (var i=0; i < myHistoryList.length; i++) {
   alert(myHistoryList[i].SomeProperty);
}