1
私は、C#.NETアプリケーションとJson.NETを使用したJSONを介してPHPサーバー側の間で何らかのコミュニケーションを起こそうとしています。私はJsonの文字列をPOSTしていますが、サーバー側の文字列にアクセスできません(または正しく送信していません)。 My $ _POST変数は空に見えますが、私はJson文字列にアクセスするためにどのキーを使用するのか分かりません。誰でも何かを提案できますか?Json.NETとPHPコミュニケーション
私のC#コード:
TestClass ts = new TestClass("Some Data", 3, 4.5);
string json = JsonConvert.SerializeObject(ts);
HttpWebRequest request =
(HttpWebRequest)WebRequest.Create("http://localhost/testJson.php");
request.Method = "POST";
request.ContentType = "application/json";
request.ContentLength = json.Length;
StreamWriter sw = new StreamWriter(request.GetRequestStream());
sw.Write(json);
sw.Close();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader sr = new StreamReader(response.GetResponseStream());
string responseJson = sr.ReadToEnd();
sr.Close();
TestClass returnedTS =
JsonConvert.DeserializeObject<TestClass>(responseJson);
私のPHPコード:
<?php
require("TestClass.php");
$json = json_decode($_POST);
$ts = new TestClass();
$ts->someString = $json['someString'];
$ts->someDouble = $json['someDouble'];
$ts->someInt = $json['someInt'];
$return_json = json_encode($ts);
echo $return_json;
?>
マイ出力:あなたが代わりにアプリケーション/ X-WWWのアプリケーション/ JSONを使用する必要が
<b>Warning</b>: json_decode() expects parameter 1 to be string, array given in
<b>C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\testJson.p
hp</b> on line <b>4</b><br />
{"someString":null,"someInt":null,"someDouble":null}