Macc
April 6, 2020, 11:07am
1
I have a legacy system I’m trying to proxy calls to which returns Newtonsoft JObjects to the client.
What is the best way to return the deserialized JObject
string from the endpoint maintaining it as json?
I’ve tried an HttpResult
passing the json string and setting the json contenttype but it’s stringifying the response.
i.e. "{\"jsonProp\":\"jsonValue\"}
v.s, existing response
{ "jsonProp":"jsonValue"}
Do I need to write directly to the Response.Stream
instead perhaps?
mythz
April 6, 2020, 11:37am
2
Your Services can return raw Data Types and here are some different ways HTTP responses can be customized .
So easiest way to return raw JSON is to set the ContentType with the [AddHeader]
attribute and return the serialized raw JSON string.
[AddHeader(ContentType = MimeTypes.Json)]
public object Any(MyRequest request)
{
return rawJsonString;
}
You can also return raw UTF-8 byte[]
or Stream
or if you prefer, you can write directly to the Response.OutputStream
and end the request with Response.EndRequest()
.
1 Like
Macc
April 6, 2020, 11:47am
3
Thanks @mythz .
Went with just returning byte[] with the HttpResult
and it works how I need it
1 Like