如何在php中解码JavaScriptSerializer对象

时间:2014-08-28 07:48:22

标签: php asp.net json email serialization

我的目标是将 asp.net 页面的请求发送到 php的页面,并从php页面发送电子邮件。 我在 asp.net' 页面上的代码是

            Dictionary<string, string> keyValues = new Dictionary<string, string>();
            keyValues.Add("to", "to@gmail.com");
            keyValues.Add("from", "from@gmail.com");
            keyValues.Add("message", "Conent of Email");
            keyValues.Add("Subject", "Subject of Email");
            JavaScriptSerializer js = new JavaScriptSerializer();
            string json = js.Serialize(keyValues);

            WebClient webClient = new WebClient();
            NameValueCollection formData = new NameValueCollection();
            formData.Add("a", json);

            byte[] response = webClient.UploadValues("http://example.com/emailme.php", "POST", formData);
            string responsebody = Encoding.UTF8.GetString(response);

序列化后我经过的值是

Json string which i'm passing to

并且在 php 页面中编写的代码是

if (isset($_POST['a']))
{
echo "Value Exists"; 
echo "<br> Value before decoding is ".$_POST['a']."<br>";

$result=json_decode($_POST['a'],true);

echo "the value after decoding is ";
echo $result;

echo "<br> now for print_r <br>";
print_r($result);


} else 
{echo "Value Does Not Exists";}

这是代码,现在我附上了我的请求的结果图像。

enter image description here

正如您所看到的那样,它在解码之后显示结果,在解码后它没有显示任何内容。 我将继续在结果后发送电子邮件。

1 个答案:

答案 0 :(得分:0)

$result=json_decode(stripslashes($_POST['a']),true);

会做到这一点;)