2017-03-25 11 views
0

私は配列を作成し、それをC#アプリケーションに送信したいと思います。私はいくつかのタスクを実行できるforループを作成できるように、C#の文字列配列として使用できるようにしたい。JavaScript(Node.js)配列をC#の文字列配列に変換するには?

のNode.js(Express.js)

router.get('/arr', function(req,res,next) { 
    var arr = ["orange", "plum", "strawberry", "lemon", "tangerine"]; 
    res.send(arr); 
}); 

C#コード。

public string Arr() { 
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://10.0.2.2/arr"); 
    HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
    StreamReader stream = new StreamReader(response.GetResponseStream()); 
    string final_response = stream.ReadToEnd(); 
    stream.Dispose(); 
    return final_response; 
} 

C#アプリケーションのエディタ(これは私が非常に限られたものを行うことができますエディタですので、サードパーティ製のパッケージをインポートする方法はありませんが、あなたはHTTP GET /ポスト、などのような基本的なものを行うことができます)

string Answer = Lib.Arr(); 

Answerを文字列配列として作成するにはどうすればよいですか? Answerstring[] Answerとして作成しようとしましたが、文字列が文字列[]に変換できないと言われています。間違っていますか?

私はC#を初めて使用しています。

+0

あなたの 'final_response'はjsonの文字列ですが、まだ配列ではありません。キャストは機能しません。あなたは実際にそれを解析する必要があります。ライブラリにアクセスできる場合は、Newtonsoft:http://www.newtonsoft.com/jsonを使用できます。エディタによっては、[DataContractJsonSerializer](https://msdn.microsoft.com/en-us/library/bb908232.aspx)にアクセスできます。次に、その使用例を示します。http://stackoverflow.com/questions/8204320/deserializing-a-simple-json-array-with-datacontractjsonserializer – vyrp

答えて

1

あなたが解析する必要があるすべては、文字列の配列である場合、あなたはこのような何か行うことができます。

string trimmedAnswer = Lib.Arr().Trim(); // Remove whitespaces from the beginning and end 
trimmedAnswer = trimmedAnswer.Substring(1, trimmedAnswer.Length - 1); // Remove [ and ] characters 
string[] Answer = trimmedAnswer.Split(",").Select(s => s.Trim()).ToArray(); // Split every element by the commas, and remove any whitespaces 

をしかし、あなたはより複雑jsonsを解析する必要がある場合、あなたはこの答えのようなものが必要になります。https://stackoverflow.com/a/24891561/2420998

関連する問題