由JSON.NET序列化的字符串总是有一些“\”

时间:2013-08-22 15:05:27

标签: php .net http-post json.net

我一直在使用Json.net来序列化我的对象并通过POST方法将它发送到我的PHP服务器。问题是发送到我的服务器的数据总是在结果中有一些\,它打印到网站视图中(如果我通过SQL查询将POST数据直接发送到数据库,那就没问题)。

例如: 这是我发送到服务器的内容:

string jsonString = JsonConvert.SerializeObject(str); //str="12345"
Dictionary<string, object> parameters = new Dictionary<string, object>();
        parameters.Add("Data", jsonString);
        PostClient proxy = new PostClient(parameters);
        proxy.DownloadStringAsync(new Uri("http://justrun.comlu.com/JsonParse.php", UriKind.Absolute));

更新 这是我在PHP服务器中使用的:

$a=$_POST['Data'];
echo "<ServerResponse>";
echo $a;
echo "</ServerResponse>";

这是打印出来的:

<ServerResponse>\"12345\"</ServerResponse>

我正在开发一个Windows Phone 8项目,我不熟悉C#,JSON,特别是PHP。这件事对我来说真的很烦人,我需要花很多时间来编辑字符串。有人可以解释一下吗?

1 个答案:

答案 0 :(得分:1)

您需要disable PHP magic quotes

这是a deprecated feature,只是为了造成麻烦。你也应该升级PHP。