jquery和asp.net数据交换的问题

时间:2011-07-04 11:08:09

标签: c# jquery asp.net

我有一个我想要调用的wcf服务,我知道它正在返回一个JSON字符串。

Q1 :如何在运行时了解JSON的外观?例如,如果JSON是{'name':'steive','lastname':'jones'}我如何用javascript或jquery找到这个参数名?

像这样的样本jquery中的

    $.ajax({
        url: '/wcfService.svc/test',
        dataType: 'json',
        type: 'POST',
        success: function(data) {
           // to do
        }
    });

Q2 :我如何知道data.d中包含的名称是什么?

你可以猜测我正在尝试自动化服务器/客户端数据交换,所以如果JSON变大,客户端应该能够使用任何名称中的参数。在上面的例子中,我使用了name和lastname但是如果我将名称更改为服务器端的名称和lastname到lastnames,则客户端应该没有问题,如下所示: {'names':'steive','lastnames':'jones'} 我应该能够使用它而无需对客户进行任何修改。我正在使用ASP.NET和C#。

Q3 :这是否可能?

1 个答案:

答案 0 :(得分:0)

你确定可以!

您可以循环访问for ... in循环的数据属性。使用.hasOwnProperty仅获取属于对象的属性而不是基础对象属性。

for (var prop in data ) {
    if (data.hasOwnProperty(prop)) {
        alert(prop + ' '  + data[prop]);
    }
}

看看这个小提琴,看看它在行动: http://jsfiddle.net/WNrgs/