Как удалить одинарные кавычки при синтаксическом анализе массива PHP в JSON?

#php #json

#php #json

Вопрос:

Это мой результат, когда я говорю echo json_encode($array) :

 [{"name":"test"}]
  

Я ищу что-то вроде replace. есть ли в php метод для замены strings в arrays ? Результат должен быть таким:

 [{name:test}]
  

Комментарии:

1. Вы действительно искали функции замены? Потому что PHP загружается… просто RTFM . Для более сложных замен проверьте это . Также: первая строка является допустимой JSON, вторая — нет

Ответ №1:

Вы можете сделать что-то вроде этого:

 <?php
$arr1 = array();
$i = 1;
function replace($key)
{
  echo str_replace('"', '', $key)."<br />n";
}


 $fruits = array("d" => '"lemon', "a" => '"orange', "b" => "banana", "c" => "apple");
 array_walk($fruits, 'replace');
?>
  

Ответ №2:

В PHP есть str_replace() функция.

 $result = str_replace('"', '', json_encode($array));
  

Кстати, согласно JSON RFC, [{"name":"test"}] это правильный формат. Если вы попытаетесь выполнить синтаксический анализ [{name:test}] в JavaScript, JS выдаст ошибку «тест не определен».