2017-08-02 10 views
-2

ファイルのアップロードを許可するWeb APIサービスがあります。ファイルの内容は、次のような小さなJSON文字列です:ファイルストリームからコンテンツを読み込むC#

ではなく、Webサーバー上のファイルとしてストリームを保存してから開くことの流れている間、私は、ファイルの内容を取得するにはどうすればよい
{ "name":"John", "age":31, "city":"New York" } 

ファイル?

次は私の抜粋です:

byte[] fileData = null; 
using(var binaryReader = new BinaryReader(httpRequest.Files[0].InputStream)) 
{ 
     fileData = binaryReader.ReadBytes(httpRequest.Files[0].ContentLength); 
} 

私はあなたがStreamReaderクラスを使用することができます4.0の.NET Framework

+1

は何ですか質問? – NineBerry

+0

なぜ 'StreamReader'ですか? –

+0

質問は私のストリームからJSONを取得する方法です。 – user1647160

答えて

1

を使用しています。このコードを試してみてください。

using (var reader = new StreamReader(httpRequest.Files[0].InputStream)) 
{ 
    var content = reader.ReadToEnd(); 
    var json = JObject.Parse(content); 
    var name = json["name"]; 
} 

別のオプションは、(手動またはhttp://json2csharp.com/によって)あなたのJSONのためのクラスを作成することです:

public class Person 
{ 
    public string name { get; set; } 
    public int age { get; set; } 
    public string city { get; set; } 
} 

次に、このようにコードを変更します。

using (var reader = new StreamReader(httpRequest.Files[0].InputStream)) 
{ 
    var content = reader.ReadToEnd(); 
    var person = JsonConvert.DeserializeObject<Person>(content); 
    var name = person.name; 
} 
+0

それは働いた!ありがとね。 – user1647160

関連する問題