У меня есть текстовый файл, форматированный как JSON, но в формате для печати/просмотра, и я хочу преобразовать эту строку в действительный JSON. В принципе, я хочу прочитать файл с помощью PHP5 и позвонить json_decode для десериализации строки. Но json_decode не может разобрать «удобную для печати» строку json.Преобразование JSON в формате печати в действительный JSON
Я получаю ошибку 4 Неверный или неправильный JSON.
Похоже, кто-то был подобный вопрос, как мне: PHP json_decode() returns NULL with valid JSON?
Я использую Notepad ++, чтобы записать файл в формате JSON.
Итак, как я могу конвертировать
ОТ:
{
"data": [
{
"thumbImg": "thumbImg",
"street": "street",
"city": "Fort Worth",
"state": "Texas",
"zip": "76192-0001",
"url": "url"
}
]
}
TO:
{"data":[{"thumbImg": "thumbImg", "street": "street", "city": "Fort Worth", "state": "Texas", "zip": "76192-0001", "url": "url"}]
Я даже попытался сделать следующее:
<?php
$filename = "links.json";
$file = fopen($filename, "r");
$lines = file($filename);
$data = "";
;
foreach ($lines as $line_num => $line) {
$formatted = trim($line);
$formatted = str_replace("\r", "", $formatted);
$formatted = str_replace("\n", "", $formatted);
$data .= $formatted;
}
$json = json_decode($data, true);
?>
Я сделал var_dump полученной строки json и http://jsonlint.com/ отметил его как действительный json; однако json_decode по какой-то причине не может десериализовать строку json.
Спасибо!
РЕШЕНИЕ Я установил кодировку текстового файла в UTF-8 без спецификации, и теперь он отлично работает. Спасибо вам всем!
данных разбирает без каких-либо проблем для меня. – Quentin
Работает, когда я читаю текстовый файл (без перетаскивания текста). Похоже, вы начали с «У меня проблемы с чтением файла», но в итоге вы спросили: «Как я могу переформатировать этот файл?», Что несколько шагов вниз по линии от реальной проблемы и привело к тому, что никому не помогает. – Quentin
'json_decode' отлично работает для меня: http://codepad.org/wcNFa2F5 Вы должны попробовать' file_get_contents' прочитать файл: http://php.net/manual/en/function.file-get-contents.php –