开发者

How can I stop HTTP from escaping quotes?

I'm using C# to POST some data to a webserver running PHP.

I'm sending a JSON formatted object to the server in the POST data.

The data looks something like this when it leaves the C# program:

json_text={"abc":"hello", "dfg":"world"}

I have the server printing the data exactly as it received it using echo $_POST['json_text']; The script outputs the following:

{\"abc\":\"hello\", \"dfg\":\"world\"}

I'm not very familiar with how POST data is packaged into an HTTP packet. I opened up WireShark to look at how quotes are sent in POST data and it looks like they are replaced with %22. However, I tried replacing my quotes with %22 and it did NOT stop the quotes from being escaped whe开发者_开发技巧n it is outputted.

Thank you


Turn off PHP's magic_quotes option. That's probably where the backslashes are coming from.


Setup your json_text object as follows, not quoting the property names and using single quotes instead:

json_text = { abc : 'hello', dfg : 'world' }

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜