Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法将JSON数据从C发送到PHP服务器_C#_Php_Json - Fatal编程技术网

C# 无法将JSON数据从C发送到PHP服务器

C# 无法将JSON数据从C发送到PHP服务器,c#,php,json,C#,Php,Json,我一直在到处寻找解决这个问题的方法,但每次都遇到麻烦。目标是将数据序列化为JSON字符串,并将该数据发送到服务器上的PHP文件。最终结果是json_解码读取空值。我已经为此工作了几个小时,任何人的任何指导或解决方案都将不胜感激。这是我的代码片段 private void sendData(string questionId, string youtubeUrl) { //fill in class data videoData vd = new vide

我一直在到处寻找解决这个问题的方法,但每次都遇到麻烦。目标是将数据序列化为JSON字符串,并将该数据发送到服务器上的PHP文件。最终结果是json_解码读取空值。我已经为此工作了几个小时,任何人的任何指导或解决方案都将不胜感激。这是我的代码片段

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));
在C代码中使用DataContractJsonSerializer或JavaScriptSerializer,而不是使用DataContractSerializer


你为什么要对你的$\u帖子进行编码?你能粘贴$u POST的var\u转储吗?还要检查你的json字符串是否有效,我知道了。我改为DataContractJsonSerializer,现在它工作得很好。对不起,我是个业余爱好者。谢谢你的帮助!