在基于EF的rest API中,我有一个C#POCO,它的字符串属性包含原始JSON,存储在MSSQL的varchar列中。
从控制器返回实体时,JSON包含在字符串中并转义:
"options": "{\"hello\":\"world\"}"
我如何告诉框架不要对其进行转义,而是为该属性提供原始JSON?像这样:
"options": {"hello":"world"}
p.s。 &仅供参考:
在我来自Java / Spring的地方,只需要用@JsonRawValue
注释POJO属性,然后Jackson
可以完成其余的工作。
编辑1
控制器看起来像这样:
[HttpGet("{widgetId:guid}")]
[ProducesResponseType(typeof(WidgetDTO), 200)]
public async Task<IActionResult> GetWidgetById(Guid widgetId) {
var foundWidget = await WidgetManager.GetWidget(widgetId);
return Ok(new MyOkResponse(Mapper.Map<WidgetDTO>(foundWidget), 1));
}
WidgetDTO.options是包含JSON的字符串属性。