私はこの問題を解決するために至る所で研究してきました、しかし私は毎回壁にぶつかり続けます。目標は、データをJSON文字列にシリアル化し、そのデータをサーバー上のPHPファイルに送信することです。最終的な結果は、json_decodeがnullを読み取ることです。私はこれに何時間も取り組んできました、誰からのガイダンスや解決策も大歓迎です。これが私のコードスニペットです。
private void sendData(string questionId, string youtubeUrl)
{
//fill in class data
videoData vd = new videoData();
vd.question_id = questionId;
vd.video_path_on_server = videoId;
//specifiy the url you want to send data to
string phpurl = "http://questionoftheweek.local/video/save";
//make request to url and set post properties
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(phpurl);
request.Method = "POST";
request.ContentType = "application/json; charset=utf-8";
try
{
//serialize
DataContractSerializer ser = new DataContractSerializer(typeof(videoData));
MemoryStream ms = new MemoryStream();
ser.WriteObject(ms, vd);
string videodata = Encoding.UTF8.GetString(ms.ToArray());
StreamWriter writer = new StreamWriter(request.GetRequestStream());
writer.Write(videodata);
writer.Close();
}
catch (Exception ex) {
MessageBox.Show("Unable to send data: " + ex.Message);
}
そして、これが私が使用しているサーバー上のPHPコードです:
<?php
$json = json_encode($_POST);
var_dump(json_decode($json));