Abe*_*Abe 1 php json file input
我有一个格式化像JSON的文本文件,但在打印/查看友好的格式,我想给字符串转换为有效的JSON.基本上,我想用读取文件PHP5并调用json_decode反序列化的字符串.但是,json_decode无法解析"打印友好"的JSON字符串.
我收到错误4 JSON无效或格式错误.
它看起来像其他人也有类似的问题,因为我:PHP json_decode()返回NULL与有效的JSON?
我使用记事本++写的JSON文件.
那么,我该怎么转换呢
从:
{
"data": [
{
"thumbImg": "thumbImg",
"street": "street",
"city": "Fort Worth",
"state": "Texas",
"zip": "76192-0001",
"url": "url"
}
]
}
Run Code Online (Sandbox Code Playgroud)
至:
{"data":[{"thumbImg": "thumbImg", "street": "street", "city": "Fort Worth", "state": "Texas", "zip": "76192-0001", "url": "url"}]
Run Code Online (Sandbox Code Playgroud)
我甚至试过做以下事情:
<?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);
?>
Run Code Online (Sandbox Code Playgroud)
我做了一个生成的json字符串的var_dump,并且http://jsonlint.com/将它标记为有效的json; 但是,由于某种原因,json_decode无法反序列化json字符串.
谢谢!
解决方案 我将文本文件的编码设置为UTF-8而没有BOM,现在工作正常.谢谢你们!
<?php
$filename = "links.json";
$file = file_get_contents($filename);
$json = json_decode($file, true);
?>
Run Code Online (Sandbox Code Playgroud)
参考文献:
-
-file_get_contents()json_decode()
| 归档时间: |
|
| 查看次数: |
1043 次 |
| 最近记录: |