我已经完成了我的第一个ASP.NET Core Web API,我想尝试使用JSON.NET库手动序列化/反序列化JSON数据。在JSON.NET文档中,他们提供了以下简单的手动序列化示例:
public static string ToJson(this Person p)
{
StringWriter sw = new StringWriter();
JsonTextWriter writer = new JsonTextWriter(sw);
writer.WriteStartObject();
// "name" : "Jerry"
writer.WritePropertyName("name");
writer.WriteValue(p.Name);
// "likes": ["Comedy", "Superman"]
writer.WritePropertyName("likes");
writer.WriteStartArray();
foreach (string like in p.Likes)
{
writer.WriteValue(like);
}
writer.WriteEndArray();
writer.WriteEndObject();
return sw.ToString();
作为一个初学者,我觉得缺少的是如何使用这个字符串。例如,考虑以下内容:
[HttpGet("/api/data")
[Produces("application/json")]
public IActionResult GetData()
{
return Ok(new Byte[SomeBigInt]);
}
在上面的代码中,我不知道ASP.NET Core将数组序列化为JSON的具体位置...我假设它是在幕后的某个地方发生的。如果我手动序列化(使用JSON.NET示例)一些大型字节数组,那么我该怎么处理生成的字符串?只需要"return Ok(myJsonString);"吗?内置的序列化器会不会再次对其进行序列化,因为它不知道它已经是一个序列化操作的结果?
IActionResult
派生结果,其中返回序列化内容。 - Nkosi