php读取本地json文件并渲染,修改,增加字段

读取文件渲染

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']); 
首先,我们需要一个包含组织架构数据的 JSON 文件。假设我们有一个名为 `org.json` 的文件,内容如下: ```json { "name": "公司总部", "children": [ { "name": "研发部", "children": [ { "name": "前端组", "children": [ { "name": "张三" }, { "name": "李四" } ] }, { "name": "后端组", "children": [ { "name": "王五" }, { "name": "赵六" } ] } ] }, { "name": "市场部", "children": [ { "name": "销售组", "children": [ { "name": "小红" }, { "name": "小明" } ] } ] } ] } ``` 接下来,我们需要在 HTML 文件中创建一个容器来展示组织架构。例如: ```html <div id="org-chart"></div> ``` 然后,我们可以使用 jQuery 的 `getJSON()` 方法来加载 JSON 文件并处理数据。代码如下: ```javascript $.getJSON("org.json", function(data) { var chart = new OrgChart("#org-chart", { nodeBinding: { field_0: "name" }, nodes: data.children }); }); ``` 这里我们使用了一个名为 `OrgChart` 的第三方库来渲染组织架构。我们传递了一个 CSS 选择器 `#org-chart` 来指定容器,以及一个配置对象,其中 `nodeBinding` 指定了节点显示的字段,`nodes` 则指定了节点数据。我们将数据的 `children` 属性传递给 `nodes`,因为根节点不需要显示在图表中。 最后,我们需要引入 `OrgChart` 库和 jQuery 库: ```html <script src="https://cdn.jsdelivr.net/npm/orgchart@2.1.9/dist/js/orgchart.min.js"></script> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> ``` 这样,当我们打开 HTML 文件时,就能看到一个包含组织架构的图表了。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值