The webmethod receiving parameter type must be object. because you are sending json object from script not an integer.
[WebMethod]
public string GetName(Object id)
{
var result = from p in obj.tblPersons
where p.id == id
select p;
return result.First().name;
}
please check your code once. it may helps you.