使用JSON进行POST()请求
使用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
问题原因:在使用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数据。