Ich habe festgestellt, dass Sie den Serializer überhaupt nicht benötigen. Wenn Sie das Objekt als Liste zurückgeben. Lassen Sie mich ein Beispiel verwenden.
In unserem asmx erhalten wir die Daten mit der Variablen, die wir weitergegeben haben
// 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; }
}
Dann greifen wir mit jquery auf den Dienst zu und geben diese Variable weiter.
// 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);
Und wir bekommen unsere Antwort.
{"d":[{"__type":"MapData+latlon","lat":"40.7031420","lon":"-80.6047970}]}