使用JSON进行POST()请求

29 浏览
0 Comments

使用JSON进行POST()请求

我正在学习JSON,但是无法弄清楚下一步该怎么做。我已经创建了一个JSON读取器,并将所需的数据添加到了读取器中,但是现在我该如何使用这些数据进行POST()请求呢?

这是我目前的代码:

private void PerformJSONPost()
{
    var httpWebRequest = (HttpWebRequest)WebRequest.Create("http://requestb.in/12frf661");
    httpWebRequest.ContentType = "application/json";
    httpWebRequest.Method = "POST";
    var jsonReader = JsonReaderWriterFactory.CreateJsonReader(Encoding.UTF8.GetBytes(@"{ ""Security"": { ""UsernameToken"": { ""Username"": ""redrobin"", ""Password"": ""fahidsma!"" } }"), new System.Xml.XmlDictionaryReaderQuotas());
}

编辑

这个语法的问题在于,实际上只有以下内容被发送出去:

System.Runtime.Serialization.Json.XmlJsonReader

0
0 Comments

问题原因:在使用POST方法发送JSON数据时,出现了一些问题。

解决方法:对代码进行以下更改:

        var request = WebRequest.CreateHttp(myUrl + "/" + uri);
        request.Credentials = new NetworkCredential(myUserName, myPassword, myDomain);
        request.ContentType = "application/json; charset=utf-8";
        request.Method = "POST";
        using (StreamWriter streamWriter = new StreamWriter(request.GetRequestStream()))
        {
            string jsonstring = JsonConvert.SerializeObject(myJsonobject, Formatting.Indented);
            streamWriter.Write(jsonstring);
            streamWriter.Flush();
        }

这样,我们可以使用POST方法发送JSON数据。

0