Hi everybody,
I have the following .NET web service with the following signature (IServices.cs):
[OperationContract]
[WebInvoke(Method = "GET",
BodyStyle = WebMessageBodyStyle.Bare,
ResponseFormat = WebMessageFormat.Json)]
string ReturnListOfPersons();
The implementation is (in the Services.svc.cs):
public string ReturnListOfPersons(){
System.Web.Script.Serialization.JavaScriptSerializer oSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();
List<Person> listPersons= myModel.ReturnPersons();
var myList = from a in listPersons
select new { FirtName = a.FirstName; LastName = a.LastName};
string strJSon = oSerializer.Serialize(myList.Distinct());
StringBuilder sbJSon = new StringBuilder();
sbJSon.AppendFormat("{0}", strJSon);
return sbJSon.ToString();
}
The code above is simplified because I have some joins and "try catches".
Anyway, the problem is that the returned json string is :
"[{\"FirstName\":\"Foo\",\"LastName\":\"Bar\"},{\"Hello\":\"Foo\",\"LastName\":\"World\"}]"
Well, it's normal because of the "toString" method. But, I'm trying to get the exact Json format: without the double quotes in the beginning and of course, without the backslashes with the ability to escape the special chars. So, I would get:
[{"FirstName":"Foo","LastName":"Bar"},{"Hello":"Foo","LastName":"World"}]
Is it possible?
Thank you,
Regards