将数据从JSON响应绑定到列表框

时间:2013-04-08 01:16:59

标签: c# json data-binding

我目前正在开发一个map函数,它要求我显示提取的JSON Response中的数据。这是我从JSON响应中获得的类的一部分。我希望从JSON响应中提取“text”以显示在列表框中。

 public class Attributes
    {
        public double length { get; set; }
        public double time { get; set; }
        public string text { get; set; } //Want to display in listbox
        public long ETA { get; set; }
        public string maneuverType { get; set; }
    }

    public class rootobject
    {
        public Attribute attributes { get; set; }
        public string compressedGeometry { get; set; }
    }

我尝试在线学习,但示例中的数据都是硬编码的。我的意思是硬编码的例子:

enter image description here

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

以下是WS Web服务中的示例方法。

     [WebMethod]
    public rootobject GetData()
    {
        var rootObj = new rootobject()
        {
            attributes = new Attribute[2] { new Attribute() { text = "text 1" }, new Attribute() { text = "text 2" } },
            compressedGeometry = "geometry 1"
        };

        return rootObj;
    }

从服务中提取数据的JavaScript代码

var webMethod = "WS.asmx/GetData";
var parameters = "";

$.ajax({
type: "POST",
url: webMethod,
data: parameters,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
    $("#sel").html(msg.d);
    var index = 0;
    for (; index < msg.d.attributes.length; index++)
    {
        $("#sel").append("<option>" + msg.d.attributes[index].text + "<option>");
    }
},
error: function (e) {
    alert(e);
}
});

用于下拉/选择的HTML

<select id="sel"></select>