读取文件渲染
1.通过file_get_contents将整个文件读入一个字符串
2.json_decode将json数据转为数组,对JSON 格式的字符串进行解码
<?php
echo "Hello!<br/>";
$json_string = file_get_contents('./info.json');
$data = json_decode($json_string, true);
var_dump($data["company"]['value']);
// print_r($data["company"]['value']);
json模拟数据
{
"enterprise_type": {
"type": "企业类型",
"value": "企业"
},
"credit": {
"type": "统一社会信用代码",
"value": "8848668485548"
},
"company": {
"type": "公司名称",
"value": "雪梨科技"
},
"Range": {
"type": "经营范围",
"value": ""
},
"address": {
"type": "地址",
"value": "北北市西西村东东街001号"
},
"account_opening": {
"type": "开户行",
"value": "农农银行股份有限公司西西村支行"
}
}
输出
增加字段
向info.json文件增加一个describe字段
file_put_contents(文件,值)将一个字符串写入文件
<?php
echo "Hello!<br/>";
$json_string = file_get_contents('./info.json');
$data = json_decode($json_string, true);
$code = "describe";//动态值
$data[$code] = array("type" => "描述", "value" => "Hello PHP!"); //增加
$json_string = json_encode($data);
file_put_contents("./info.json", $json_string);
var_dump($data);
此时发现页面正常输出并成功添加了
但是打开json文件,发现是一些看不懂的格式。
这是由于json_encode来处理中文的时候, 中文都会被编码, 变成不可读的
解决办法,升级php
检查PHP版本
$ php -v
PHP5.4以上新增了一个选项: JSON_UNESCAPED_UNICODE,JSON不编码Unicode
修改json_encode,添加 JSON_UNESCAPED_UNICODE
$json_string = json_encode($data,JSON_UNESCAPED_UNICODE);
修改
php修改json数据某个字段
$data[$code]["value"] = "哈喽!你好";//修改
完整代码
<?php
echo "Hello!<br/>";
$json_string = file_get_contents('./info.json');
$data = json_decode($json_string, true);
$code = "describe"; //动态值
// $data[$code] = array("type" => "描述", "value" => "Hello PHP!"); //增加
$data[$code]["value"] = "哈喽!你好"; //修改
$json_string = json_encode($data, JSON_UNESCAPED_UNICODE);
file_put_contents("./info.json", $json_string);
var_dump($data);
// print_r($data["company"]['value']);