Я использую C # для отправки некоторых данных на веб-сервер, на котором запущен PHP.
Я отправляю JSON-форматированный объект на сервер в данных POST.
Данные выглядят примерно так, когда они покидают программу C #:
json_text={"abc":"hello", "dfg":"world"}
У меня есть сервер, который печатает данные точно так же, как получил его, используя echo $ _POST ['json_text']; Скрипт выводит следующее:
{\"abc\":\"hello\", \"dfg\":\"world\"}
Я не очень хорошо разбираюсь в том, как данные POST упаковываются в пакет HTTP. Я открыл WireShark, чтобы посмотреть, как кавычки отправляются в данных POST, и похоже, что они заменены на % 22 . Тем не менее, я попытался заменить мои кавычки на% 22, и это не остановило кавычки от экранирования при его выводе.
спасибо
Отключите параметр magic_quotes от PHP. Скорее всего, там, где обратная косая черта исходит.
Настройте свой объект json_text
следующим образом, не ссылаясь на имена свойств и используя одинарные кавычки:
json_text = { abc : 'hello', dfg : 'world' }