json淺析

json是一個數據格式,那麼先來了解下經常使用的數據類型javascript

計算機語言大體分爲:三種數據類型。php

第一種類型是標量(scalar),也就是一個單獨的字符串(string)或數字(number)。java

第二種類型是序列(sequence),也就是若干個相關的數據按照必定的順序並列在一塊兒,又叫作數組或列表。mysql

第三種類型是映射(mapping),也就是一個名/值對(Name/Value),即數據有一個名稱,還有一個與之相對應的值,這又被稱爲散列(hash)或字典(dictionary)。redis

json的基本語法是?sql

知道了語法學習起來就快了。就思路清晰了json

json(javascript object notation)的四個基本規則
數組

  1. 並列的數據之間用逗號(「,」)分隔
    app

  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中引號只能用雙引號(「  」).

相關文章
相關標籤/搜索