Jayrock works well and transparently turns your objects to and from JSON objects providing they have a public constructor. It also creates the script for you so you can just call your web service like a Javascript class.
Example:
public class Person
{
public string Name { get;set;}
public int Age { get;set; }
public Person() { }
}
public class MyService : JsonRpcHandler
{
[JsonRpcMethod("getBob")]
public Person GetBob()
{
return new Person() { Name="Bob",Age=20};
}
}
And the Javascript:
var service = new MyService();
var result = service.getBob();
alert(result.name); // JSON objects are camel-cased.