json浅析

json是一个数据格式,那么先来了解下常用的数据类型

计算机语言大致分为:三种数据类型。

第一种类型是标量(scalar),也就是一个单独的字符串(string)或数字(number)。

第二种类型是序列(sequence),也就是若干个相关的数据按照一定的顺序并列在一起,又叫做数组或列表。

第三种类型是映射(mapping),也就是一个名/值对(Name/Value),即数据有一个名称,还有一个与之相对应的值,这又被称为散列(hash)或字典(dictionary)。

json浅析_第1张图片

json的基本语法是?

知道了语法学习起来就快了。就思路清晰了

json(javascript object notation)的四个基本规则

  1. 并列的数据之间用逗号(“,”)分隔

  2. 映射用冒号(“:”)表示

  3. 并列数据的集合(数组)用方括号(“[ ]”)表示

  4. 映射的集合(对象)用大括号(“{}”)表示

为什么大家都喜欢用?

  1. 数据格式简单,易于读写,格式是压缩的,占用的宽带少

  2. 支持多种服务端语言,方便服务端解析

缺点?字符集必须是Unicode,语法必须遵循四个基本原则

php中json操作

<?php
    $arr = array("name"=>"小明","age"=>12);
    echo $jsonStr = json_encode($arr);//{"name":"小明","age":12}
    
    $str = '{"address":"深圳","work":"code Monkey"}';
    var_dump(json_decode($str));
    /**
    object(stdClass)#1 (2) {
      ["address"]=>
      string(6) "深圳"
      ["work"]=>
      string(11) "code Monkey"
    }
    **/
    
    var_dump(json_decode($str, true));
    /*
    array(2) {
      ["address"]=>
      string(6) "深圳"
      ["work"]=>
      string(11) "code Monkey"
    }
    */

json_decode,json_encode json字符串解析默认转成对象类型

当我们操作对象转json咋样

<?php
class phper{
	public $mysql="必会";
	protected $js="精通";
	private $redis="擅长";
}
$mine = new phper;

var_dump(json_encode($mine));
/*
string(24) "{"mysql":"\u5fc5\u4f1a"}"
*/

对象也是一个特殊的数组。对象转json串,只输出public公共的

那么小结下:json转数组,json转对象,数组转json,对象转json,json_decode, json_encode

注意json中引号只能用双引号(“  ”).




你可能感兴趣的:(json浅析)