Я виявив, що серіалізатор вам взагалі не потрібен. Якщо ви повернете об'єкт у вигляді списку. Дозвольте скористатись прикладом.
У нашому 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}]}