今天在写代码的时候 突然看到从JSON文件当中读取数据出来之前要对里面的数据进行origin=jsondecode(filegetcontents(′storage.json′),true);解码,操作完数据放回去之后需要进行origin = json_decode(file_get_contents('storage.json'), true);解码,操作完数据放回去之后需要进行origin=jsond​ecode(fileg​etc​ontents(′storage.json′),true);解码,操作完数据放回去之后需要进行json = json_encode($origin);编码。

之前写得保存在txt文件当中得就不用这么操作,今天看到的时候挺搞不懂的。

首先说一下使用场景
1、数据表一个字段需要记录多个信息,如记录关于用户的其他信息
2、数据传输,如:API接口返回值、Ajax中实现异步加载
3、配置文件,如 composer.json 包管理配置文件……
这里我遇到的是第一种情况

为什么需要解码和编码
因为当我们对数据进行操作以及将数据保存的时候,数据处于的状态是不一样的。
eg.当我们在PHP当中要对数据进行处理的时候,将其从JSON文件读取出来的时候,数据是一串字符串,无法直接对其进行操作,需要使用decode函数对数据存在的形态进行转换,以便机器能够识别。
json_decode接受一个 JSON 格式的字符串并且把它转换为 PHP 变量
当处理完数据之后将其保存在JSON文件当中的时候,需要使用encode进行编码保存

$origin = json_decode(file_get_contents('storage.json'), true);$origin[] = array('id' => uniqid(),'title' => $_POST['title'],'artist' => $_POST['artist'],'images' => '123','source' => '1231',);$json = json_encode($origin);file_put_contents('storage.json', $json);

json_encode与json_decode的区别相关推荐

  1. json_decode php数组,json_decode转化为数组加true,json_encode和json_decode区别

    一.json_encode和json_decode区别 1.json_encode:对象/数组 ---> json 2.json_decode:json ---> 对象/数组 二.json ...

  2. php json_decode 效率,浅析PHP中json_encode、json_decode与serialize、unserialize的性能测试...

    今天偶然在想,如果用PHP写一个类似BDB的基于文件的Key-Value小型数据库用于存储非结构化的记录型数据,不知道效率会如何? 于是便联想到PHP中的对象怎么样序列化存储性价比最高呢?接着想到了之 ...

  3. php自定义json字符串,php自定义json_encode()和json_decode()函数

    json数据大家应该遇到过,json_encode()和json_decode()是php5.0以后加上的内置函数,如果低版本要使用,需加扩展,很多时候我们无权改变服务器的配置,我们只能通过自定义函数 ...

  4. PHP中json_encode与json_decode用法

    一.json_encode() 对变量进行JSON编码, 语法: json_encode ( $value [, $options = 0 ] ) 注意:1.$value为要编码的值,且该函数只对UT ...

  5. PHP中的json_encode和json_decode

    1.json_decode() json_decode (PHP 5 >= 5.2.0, PECL json >= 1.2.0) json_decode - 对 JSON 格式的字符串进行 ...

  6. php对象和json对象的互相转换——json_encode、json_decode

    json_encode 用于将php对象转换json对象,成功返回json对象,失败返回false. 例子: json_decode 用于将json对象转换php对象,成功返回php对象,失败返回fa ...

  7. php中json_encode和json_decode的用法

    1.json_encode基本用法:数组转字符串 <?php $arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5); ...

  8. PHP json_encode 与 json_decode 空格问题

    当你的数据出现空格的时候,使用json_encode编码时系统或者框架会使用urlencode将空格编码为加号"+",但有时候你不知道系统经过几次urlencode,有时候空格会变 ...

  9. json_decode()和json_encode()区别----2015-0929

    json_decode对JSON格式的字符串进行编码而json_encode对变量进行 JSON 编码,需要的朋友可以参考下 1.json_decode() json_decode (PHP 5 &g ...

最新文章

  1. 学计算机出来的大佬,学计算机专业的大佬能否解答一下
  2. 数值和字符串互相转换
  3. c语言中return的作用_C语言简介
  4. iometer-2006_07_27.common-src编译
  5. Redis在持久化时产生的延迟
  6. 各个版本spring的jar包以及源码下载地址
  7. c语言判断这天是星期几,【求指导!!】输入年,月,日,然后判断这天是星期几!!!!!...
  8. 养成这8个好习惯 开车会很安全的
  9. Linux 内核参数及Oracle相关参数调整
  10. 【原】hive 操作笔记
  11. 20155212 2016-2017-2 《Java程序设计》第3周学习总结
  12. vue文件的三大组成部分
  13. 房地产项目成本管理系统包含的内容和价值!
  14. 群晖 php,群晖NAS安装配置typecho博客教程
  15. matplotlib绘图技巧详解(三)
  16. 微博十年,再次走到十字路口
  17. tortoise-orm 分页码(python)
  18. 说说自己找互联网工作的经验
  19. 【初学python】用python做一个简单的超市收银台付款系统
  20. HTML5介绍,HTML5语义化标签

热门文章

  1. 商业智能BI - 派可数据商业智能BI可视化分析平台
  2. 计算机科学与数理逻辑答案,面向计算机科学的数理逻辑答案
  3. AOV网络与AOE网络
  4. AWS,Azure,Google Cloud:哪个免费套餐最好?
  5. 广西计算机12月考试一级查询,全国高校计算机等级考试(广西考区)一级笔试试题09年度12月至11年度12月一级考试历年度真题(含答案).pdf...
  6. 实时linux部署测试
  7. android用出生日期显示星座代码,安卓 NumberPicker使用说明以及实例:星座判断
  8. 金仓数据库KingbaseES用户口令管理与资源管理
  9. CSS动画之静态三角形画法与延后的汽车车灯
  10. Bigquant-平台5.53夏普高质量-龙头战法AI量化实战策略开发(一)