如何從WCF服務(wù)返回干凈的JSON?我正在嘗試從WCF服務(wù)返回一些JSON。這個服務(wù)只是從我的數(shù)據(jù)庫中返回一些內(nèi)容。我可以得到數(shù)據(jù)。但是,我擔(dān)心JSON的格式。當(dāng)前,返回的JSON格式如下:{"d":"[{\"Age\":35,\"FirstName\":\"Peyton\",\"LastName\":\"Manning\"},{\"Age\":31,\"FirstName\":\"Drew\",\"LastName\":\"Brees\"},{\"Age\":29,\"FirstName\":\"Tony\",\"LastName\":\"Romo\"}]"}實際上,我希望我的JSON格式盡可能清晰。我認(rèn)為(我可能不正確),相同的結(jié)果集合(用干凈的JSON表示)應(yīng)該如下所示:[{"Age":35,"FirstName":"Peyton","LastName":"Manning"},{"Age":31,"FirstName":"Drew","LastName":"Brees"},{"Age":29,"FirstName":"Tony","LastName":"Romo"}]我不知道“d”是從哪里來的。我也不知道為什么要插入轉(zhuǎn)義字符。我的實體看起來如下:[DataContract]public class Person{
[DataMember]
public string FirstName { get; set; }
[DataMember]
public string LastName { get; set; }
[DataMember]
public int Age { get; set; }
public Person(string firstName, string lastName, int age)
{
this.FirstName = firstName;
this.LastName = lastName;
this.Age = age;
}}負(fù)責(zé)返回內(nèi)容的服務(wù)定義為:[ServiceContract(Namespace = "")][AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]public class TestService{
[OperationContract]
[WebGet(ResponseFormat = WebMessageFormat.Json)]
public string GetResults()
{
List<Person> results = new List<Person>();
results.Add(new Person("Peyton", "Manning", 35));
results.Add(new Person("Drew", "Brees", 31));
results.Add(new Person("Tony", "Romo", 29));
// Serialize the results as JSON
DataContractJsonSerializer serializer = new DataContractJsonSerializer(results.GetType());
MemoryStream memoryStream = new MemoryStream();
serializer.WriteObject(memoryStream, results);
// Return the results serialized as JSON
string json = Encoding.Default.GetString(memoryStream.ToArray());
return json;
}}如何從WCF服務(wù)返回“干凈”JSON?謝謝!
如何從WCF服務(wù)返回干凈的JSON?
慕哥6287543
2019-06-28 15:44:01