1

c# から json オブジェクトをパラメーターとして mvc アクションに渡そうとしていますが、それを受け取るとその値が null になりました

推奨事項はありますか?

var url = "myurl";
var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
httpWebRequest.ContentType = "text/json";
httpWebRequest.Method = "POST";

using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
var jsonContent = "{\"addProfileInfo\":{\"Address\" : \"Add Profile\",  \"Address2\" : \"add2\",  \"ArabicAddress1\" : \"\",  \"ArabicAddress2\" : \"\",  \"ArabicContactPerson\" : \"\",  \"ArabicFirstName\" : \"\",  \"ArabicMiddleName\" : \"\",  \"ArabicLastName\" : \"\",  \"BirthDate\" : \"1998-01-22T00:00:00\",  \"CSO\" : 120,  \"CompanyActivityId\" : 1,  \"ContactPerson\" : \"\",  \"Corporate\" : \"No\",  \"FaxNumber\" : \"\",  \"FirstName\" : \"Add Profile\",  \"GeographicalRegionId\" : 58,  \"HomeNumber\" : \"0235731789\",  \"LastName\" : \"Gamal\",  \"LoggedInUserID\" : 1976819,  \"MiddleName\" : \"AddProfile\",  \"MobileNumber\" : \"01111122829\",  \"NationalID\" : null,  \"NationalityId\" : 1,  \"OccupationId\" : 8,  \"OfficeNumber\" : \"\",  \"PagerNumber\" : \"0235731739\",  \"ParentID\" : 1989567,  \"PassportID\" : null,  \"Password\" : \"DLDovk65\",  \"SendNewsByMail\" : false,  \"StateID\" : null,  \"StatusID\" : 1,  \"StatusReasonID\" : 1,  \"TitleId\" : 4,  \"UCID\" : \"1007102885\",  \"UserAccountManagerID\" : 299489,  \"UserComments\" : \"\",  \"UserGender\" : 1,  \"UserName\" : \"AP.902651\",  \"UserPreferredEmail\" : \"AddProfile1@Domain.com\",  \"ZipCode\" : \"\"},\"sourceName\":\"LDNCRM\"}";

streamWriter.Write(jsonContent);
}
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
var responseText = streamReader.ReadToEnd();             
Console.WriteLine(responseText);
}
4

2 に答える 2

0

私はrestsharp(http://restsharp.org/)を使用していますが、これはNuGetからも入手できると思います。このライブラリを使用すると、次のことができます。

var myObject = new MyActionParameterType();            
var client = new RestClient(ConfigurationManager.AppSettings["ApiBaseUrl"]);

var request = new RestRequest("myurl", Method.POST);
request.RequestFormat = DataFormat.Json;
request.AddHeader("Content-Type", "application/json");
request.AddBody(myObject);

var response = client.Execute(request);
var content = response.Content;

このライブラリは、強い型のオブジェクトからjson文字列へのすべての変換を処理します。

于 2013-02-26T18:06:38.593 に答える
0

C# オブジェクトを作成し、それを Json 関数でラップし、呼び出している ActionResult に引数として渡すだけで、javascript ですべての低レベルを取得することはできませんか?

于 2013-02-26T17:49:13.657 に答える