由JSON.NET序列化的字符串总是有一些“";在里面


String serialized by JSON.NET always has some "" in it

我一直在使用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>

我正在做一个WindowsPhone8项目,我对C#、JSON,尤其是PHP都是新手。这件事对我来说真的很烦人,而且我会花很多时间来编辑字符串。有人能解释一下吗?

您需要禁用PHP魔术引号。

这是一个不推荐使用的功能,它的存在只是为了引起麻烦。你也应该升级PHP。