2

私は現在ac#/ phpプロジェクトに取り組んでおり、c#のデータベースからいくつかのデータを取得し、そのデータを配列に取得して、その配列をphpに送信する必要があります。

データベースをループしている間、文字列値を文字列リスト配列に追加し、それが終了したら、次のように呼び出します。

string[] myData = myList.toArray();

次に、次のコードを使用してmyDataをphpに投稿しようとしています

Dictionary<string, string> report = new Dictionary<string, string>();
report.add("data", myData.toString());
    WebRequest request = WebRequest.Create(domain + appRoot + "/administrator/engine/email-alarms.php");
                    request.Method = "POST";
                    StringBuilder b = new StringBuilder();
                    foreach (KeyValuePair<string, string> data in report)
                    {
                        b.Append(HttpUtility.UrlEncode(data.Key)).Append("=").Append(HttpUtility.UrlEncode(data.Value ?? "")).Append("&");
                    }
                    string postData = b.ToString(0, b.Length - 1);
                    byte[] byteArray = Encoding.UTF8.GetBytes(postData);
                    request.ContentType = "application/x-www-form-urlencoded";
                    request.ContentLength = byteArray.Length;

                    Stream dataStream = request.GetRequestStream();
                    dataStream.Write(byteArray, 0, byteArray.Length);
                    dataStream.Close();

                    WebResponse response = request.GetResponse();
    Console.writeLine(response);

myData.toString()はSystem.String []を出力するだけなので、正しいことではないと思いますが、これを行わないと、c#コードで無効な引数があるというエラーが発生します。

配列をphpに投稿するにはどうすればよいですか?

あなたが提供できるどんな助けにも感謝します。

4

4 に答える 4

2

いつでもそのjson形式を交換コントラクト形式として使用し、それを元の表現に変換して、それに応じてデータを処理できます。c# と php の両方に、json 形式をサポートする関数/ライブラリがあります。

C# を使用してシリアル化します。

var postData=new JavascriptSerializer().Serialize(object);

PHPでは、メソッドを使用できますjson_decode()。php でどのように動作するかわかりません。

お役に立てれば。

于 2012-04-12T21:26:45.833 に答える
1

おそらくあなたの最善の策は、を使用してJSONにエンコードしJavaScriptSerializer、次にPHPでデコードすることですjson_decode()

于 2012-04-12T21:27:00.993 に答える