Я обнаружил, что вам не нужен сериализатор. Если вы возвращаете объект в виде списка.
Позвольте мне привести пример.
В нашем asmx мы получаем данные, используя переменную, которую мы передали
// return data
[WebMethod(CacheDuration = 180)]
public List<latlon> GetData(int id)
{
var data = from p in db.property
where p.id == id
select new latlon
{
lat = p.lat,
lon = p.lon
};
return data.ToList();
}
public class latlon
{
public string lat { get; set; }
public string lon { get; set; }
}
Затем, используя jquery, мы получаем доступ к сервису, передавая эту переменную.
// get latlon
function getlatlon(propertyid) {
var mydata;
$.ajax({
url: "getData.asmx/GetLatLon",
type: "POST",
data: "{'id': '" + propertyid + "'}",
async: false,
contentType: "application/json;",
dataType: "json",
success: function (data, textStatus, jqXHR) { //
mydata = data;
},
error: function (xmlHttpRequest, textStatus, errorThrown) {
console.log(xmlHttpRequest.responseText);
console.log(textStatus);
console.log(errorThrown);
}
});
return mydata;
}
// call the function with your data
latlondata = getlatlon(id);
И мы получаем наш ответ.
{"d":[{"__type":"MapData+latlon","lat":"40.7031420","lon":"-80.6047970}]}