需要一个简单的Web服务调用示例返回一个对象列表以及如何在javascript中解析它们

时间:2009-07-15 14:55:38

标签: c# json

我有一个简单的Web服务,其中包含一个创建对象列表的Web方法。

 public string GetPersonList()
 {
   Person p1 = new Person { Name = "Rich", Age = "33" };
        Person p2 = new Person { Name = "Rebekah", Age = "34" };
        Person p3 = new Person { Name = "John", Age = "20" };
        List<Person> p = new List<Person>() { p1,p2,p3};

        JavaScriptSerializer oSerializer = new JavaScriptSerializer();
        string jSon = oSerializer.Serialize(p);

        return jSon;
    }

我想要做的是在客户端onSuccess回调中访问它。这是我的javascript函数..

    function GetJson() {
        json.UserService.GetPersonList(DisplayList, YouFailed);
    }

    function DisplayList(e) {

        var vals = '(' + e + ')';

        alert(vals);
    }

    function YouFailed() {
        alert("fail");
    }

有人能指出我一个体面的教程或提供如何实现这一目标的解释。我不知道访问数组数组字段的语法。

2 个答案:

答案 0 :(得分:1)

我最终使用json和jquery $ .ajax调用之间的混合。从Dave Wards博客那里得到了例子...... http://encosia.com/2009/04/07/using-complex-types-to-make-calling-services-less-complex/

感谢Automated Tester的回复!

答案 1 :(得分:0)

JSON非常容易访问。

要从您可以执行的变量中获取数据

  

var value = jsonvar ['key'];   或

var value = jsonvar.key; 

或者如果你有JSON项目,你可以做一个数组

var arraylist = [];

for (int i=0;i<jsonvar.key.length;i+=1){
    arraylist[i] = jsonvar.key[i];
}

或者你可以直接通过jsonvar.key [arrayindex]访问这些项目。

这个tutorial向您展示了访问json元素中数据的所有不同方法。