【发布时间】:2017-08-01 20:28:01
【问题描述】:
我创建了一个接受 POST 的 JSON 文件的 Web API 服务。通过该服务,我想使用 JSON.NET 解析 JSON 文件。我已经看到有关该主题的多个帖子,但是,我不想将文件保存到磁盘。我想将文件保存在内存中,解析文件并在内存中处理文件。
我也在使用 .NET Framework 4.0。
编辑:我应该更清楚。当文件被 POST 时,它是一个文件流。我不知道的部分是如何将流转换为 JSON。
public HttpResponseMessage Post()
{
HttpResponseMessage result = null;
int FileLen;
var httpRequest = HttpContext.Current.Request;
if (httpRequest.Files.Count > 0)
{
string MyString = string.Empty;
var postedFile = httpRequest.Files[0];
FileLen = postedFile.ContentLength;
byte[] input = new byte[FileLen];
System.IO.Stream testStream = postedFile.InputStream;
testStream.Read(input, 0, FileLen);
for (int Loop1 = 0; Loop1 < FileLen; Loop1++)
MyString = MyString + input[Loop1].ToString();
CurrentRate.JSONSerializer(MyString);
}
【问题讨论】:
-
尝试使用JsonTextReader。它需要一个StringReader,它可以让您将内容保存在内存中(将此作为答案并认为这是一个错误的答案,因为我没有时间提供示例:()
-
@BobbyD 请检查我的编辑。
标签: c# json file asp.net-web-api