Member 12879978 Ответов: 1

Как удалить цитаты из JSON-файла при записи с PHP?


В настоящее время у меня есть следующий код, который имеет массив и выводит его в файл JSON под названием "example.json".

Ниже приведен код, который выводится на него:

$x = array(1, 2, 3); //Defining two basic arrays
$y = array(2, 4, 6);
$name = array("Joe", "John", "Johnny");
echo count($x);
$objOne = '["type": "FeatureCollection", "features": [';
file_put_contents("jsonfun.json", json_encode($objOne));
for($i = 0; $i < count($x); $i++)
{
    $objTwo = '{ "type": "Feature", "geometry": {"type": "Point", "coordinates": [' . $x[$i] . ', ' . $y[$i] . ']}, "properties": {"name": ' . $name[$i] . '} }]';
    file_put_contents("jsonfun.json", json_encode($objTwo), FILE_APPEND);
}
$objThree = '};';
file_put_contents("jsonfun.json", json_encode($objThree), FILE_APPEND);


Output:
"[\"type\": \"FeatureCollection\", \"features\": [""{ \"type\": \"Feature\", \"geometry\": {\"type\": \"Point\", \"coordinates\": [1, 2]}, \"properties\": {\"name\": Joe} }]""{ \"type\": \"Feature\", \"geometry\": {\"type\": \"Point\", \"coordinates\": [2, 4]}, \"properties\": {\"name\": John} }]""{ \"type\": \"Feature\", \"geometry\": {\"type\": \"Point\", \"coordinates\": [3, 6]}, \"properties\": {\"name\": Johnny} }]""};"


Как вы, возможно, видели, есть много косых черт, которые я не знаю, откуда они взялись... и точно так же есть также несколько цитат, где их не должно быть;

напр..
"[type...


Есть ли шанс, что я смогу их удалить, или я делаю это неправильно?

Что я уже пробовал:

Я исследовал его, но ничего не смог найти...

Peter_in_2780

Вам нужно понять, что делает json_encode (). Видишь http://php.net/manual/en/function.json-encode.php для начала.

1 Ответов

Рейтинг:
2

Patrice T

Цитата:
Как вы, возможно, видели, есть много косых черт, которые я не знаю, откуда они взялись... и точно так же есть также несколько цитат, где их не должно быть;
Ваш код делает именно то, о чем его просят.
Используйте отладчик, чтобы увидеть, как выполняется ваш код.
Совет: Храните результаты json_encode во временной переменной и проверьте переменные с помощью отладчика.

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

Отладчик позволяет вам следить за выполнением строка за строкой, проверять переменные, и вы увидите, что есть точка, в которой он перестает делать то, что вы ожидаете.
Отладчик-Википедия, свободная энциклопедия[^]
Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]

Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.