json学习笔记

来源:互联网 发布:大脚插件 for mac 编辑:程序博客网 时间:2024/05/16 13:43

   很早以前就听说过json了,但是一直没有系统的学习过,以前在php手册里面看到了json_encode() 和json_decode()函数,当时不禁在想在php里面json就是这样使用的吗?但是一想自己迅雷面试的时候面试官问道的又觉得json那么简单—— 就是所谓的将变量进行json编码(一种数据交换格式)。所以就又问了自己几个问题比如说:在实际项目里面json什么时候使用呢? 他和面向对象里面的那个对象串行化有什么联系和区别吗?这就是一个很实际的问题?但是想了半天不能给自己一个答案。

   对象串行化:1.对象需要在网络中传输时,将对象串行化成二进制后在网络中传输

       2.对象需要持久保存时,将对象串行化后写入文件或是数据库中

举个例子:

class_Person.php

<?

class Person{
  private $name;

private $age;

private $sex;


function __construct($name,$age,$sex){
$this->name = $name;

$this->age  =  $age;

$this->sex  =  $sex;

}

function say(){

    echo  "我的名字是:".$this->name.",年龄是:".$this->age.",性别:".$this->sex.'<br>';

}

}

?>

serilize.php

<?

require("class_Persn.php");

$person = new Perosn("张三",22,"male");

$person_string = serialize($person);

file_put_contents("file.txt",$person_string);

?>

  JSON结构有两种结构:

  json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组2种结构,通过这两种结构可以表示各种复杂的结构
  1、对象:对象在js中表示为“{}”扩起来的内容,数据结构为 {key:value,key:value,...}的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为 对象.key 获取属性值,这个属性值的类型可以是 数字、字符串、数组、对象几种。
  2、数组:数组在js中是中括号“[]”扩起来的内容,数据结构为 ["java","javascript","vb",...],取值方式和所有语言中一样,使用索引获取,字段值的类型可以是 数字、字符串、数组、对象几种。
  经过对象、数组2种结构就可以组合成复杂的数据结构了。

原创粉丝点击