Ich habe diesen Vertrag:Warum ist meine JSON-String-Antwort für eine WCF-Rest-Webdienst-Antwort (schwach typisierte JSON-Antwort) maskiert?
[ServiceContract]
public interface IServiceJsonContract
{
[WebInvoke(UriTemplate = "/MyMethod", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, Method = "POST")]
Message MyMethod(Message input);
}
und die Definition für MyMethod ist:
Message MyMethod(Message input)
{
...
Message response = Message.CreateMessage(
MessageVersion.None,
"*",
"{\"bla\": 2 }",
new DataContractJsonSerializer(typeof(string)));
response.Properties.Add(WebBodyFormatMessageProperty.Name,new
WebBodyFormatMessageProperty(WebContentFormat.Json));
var contextOutgoingResponse = WebOperationContext.Current.OutgoingResponse;
contextOutgoingResponse.ContentType = "application/json;charset=utf-8";
return response;
}
beim Aufruf der Methode ich die Json bekam entkommen:
"{\" bla \ ": 2}“
anstelle von unescaped eine (unten):
"{" bla ": 2}"
Irgendeine Idee, wie man den ungesicherten Json ("{" bla ": 2}") bekommt?
Dank
Sie sollten ein Wörterbuch oder ein Objekt übergeben, anstatt Ihren eigenen JSON zu erstellen. – SLaks
Danke, SLaks. Kannst du ein kurzes Beispiel geben? (In meinem Fall habe ich eine Zeichenfolge und DataContractJsonSerializer ist auch String, aber dies entkommt der Antwort – Cezar