Отправка объекта JSON из флаттера в PHP, содержащий нулевые значения. php считать это "нулевой" строкой - PullRequest
0 голосов
/ 05 мая 2020

, если я отправлю JSON из флаттера, например {'a': 1, 'b': null, 'c': 2}. используя функцию ниже. где (data) - это объект json.

Future<String> sendData(Map data) async
  {

 http.Response response = await http.post(
        url,
        headers: {'Content-Type': 'application/json; charset=UTF-8'},
        body: jsonEncode(data));
if(response.statusCode==200)
  return (response.body);
else
  return 'No Data';

  }

php имеет дело с нулевыми значениями, поскольку это слово «null» не нулевое значение. Я использовал strlen ($ jsonObj ['b']), он возвращает 4. Итак, как проверить, является ли JSON ключ 'b' нулевым значением, не выполняя следующие условия.

if($jsonObj['b']=='null') // ..........working
   somecode;

Я использовал

if($jsonObj['b']==null)
   somecode; // .......... not working (Note: null it's without single colon ' )

Я использовал

if(empty($jsonObj['b']))
   somecode; // .......... not working

1 Ответ

0 голосов
/ 05 мая 2020

Что ж, тогда я предлагаю использовать str_replace для замены значения "null" на "".

Edit:

Сегодня я посмотрел ваш код, и ваша проблема может быть вызвана что-то еще php работает нормально.

проверьте эту ссылку

http://sandbox.onlinephpfunctions.com/code/191269dc04174cec34c9e5176fd89cf97e1d704e

...