मैं कुछ JSON को WCF सेवा से वापस करने की कोशिश कर रहा हूं। यह सेवा केवल मेरे डेटाबेस से कुछ सामग्री लौटाती है। मुझे डेटा मिल सकता है। हालांकि, मैं अपने JSON के प्रारूप के बारे में चिंतित हूं। वर्तमान में, जो JSON लौटाता है वह इस तरह से स्वरूपित होता है:
{"d":"[{\"Age\":35,\"FirstName\":\"Peyton\",\"LastName\":\"Manning\"},{\"Age\":31,\"FirstName\":\"Drew\",\"LastName\":\"Brees\"},{\"Age\":29,\"FirstName\":\"Tony\",\"LastName\":\"Romo\"}]"}
वास्तव में, मैं चाहूंगा कि मेरा JSON यथासंभव स्वच्छ रूप से स्वरूपित हो। मेरा मानना है कि (मैं गलत हो सकता है), कि परिणाम का एक ही संग्रह, स्वच्छ JSON में प्रतिनिधित्व किया, ऐसा दिखना चाहिए:
[{
"Age": 35,
"FirstName": "Peyton",
"LastName": "Manning"
}, {
"Age": 31,
"FirstName": "Drew",
"LastName": "Brees"
}, {
"Age": 29,
"FirstName": "Tony",
"LastName": "Romo"
}]
मुझे पता नहीं है कि "डी" कहां से आ रहा है। मुझे यह भी पता नहीं है कि बच के पात्रों को क्यों डाला जा रहा है। मेरी इकाई निम्नलिखित की तरह दिखती है:
[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;
}
}
सेवा जो सामग्री लौटाने के लिए जिम्मेदार है, उसे इस प्रकार परिभाषित किया गया है:
[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 सेवा से "क्लीन" JSON कैसे लौटाऊं? धन्यवाद!