JSON 语法是 JavaScript 对象表示法语法的子集。
数据在名称/值对中
数据由逗号分隔
花括号保存对象
方括号保存数组
JSON 名称/值对
JSON 数据的书写格式是:名称/值对。
名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值:
“firstName” : "John" 等价于 fristName = John
JSON 值可以是:
数字(整数或浮点数)
字符串(在双引号中)
逻辑值(true 或 false)
数组(在方括号中)
对象(在花括号中)
null
包含多个值的对象
{ “firstName”:”John”, lastName:”Doe”}
Json值是数组的对象
{
“employees”:
[
{ “firstName”:”John”, lastName:”Doe”}
{ “firstName”:”John2”, lastName:”Doe2”}
]
}
PHP和json
json_decode($json, $isarr) 第一个参数是json字符串,第二个参数true,则转化为关联数组,否则转化为对象。
数据在名称/值对中
数据由逗号分隔
花括号保存对象
方括号保存数组
JSON 名称/值对
JSON 数据的书写格式是:名称/值对。
名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值:
“firstName” : "John" 等价于 fristName = John
JSON 值可以是:
数字(整数或浮点数)
字符串(在双引号中)
逻辑值(true 或 false)
数组(在方括号中)
对象(在花括号中)
null
包含多个值的对象
{ “firstName”:”John”, lastName:”Doe”}
Json值是数组的对象
{
“employees”:
[
{ “firstName”:”John”, lastName:”Doe”}
{ “firstName”:”John2”, lastName:”Doe2”}
]
}
PHP和json
json_decode($json, $isarr) 第一个参数是json字符串,第二个参数true,则转化为关联数组,否则转化为对象。
json_encode($value) 原则上参数可以是任意类型,最好是关联数组。如果是类,则只将public的属性转化为json字符串。
<?php
class test
{
public $a = 3;
public $str = "hello";
private $p = 33; //只会转换public的为json内容
protected $p2 = 34;//只会转换public的为json内容
function out()//只会转换public的属性为json内容
{
echo $this->str;
}
}
$arr = array(1,2,3); //"[1,2,3]"
$arr2 = array(0=>1, 2=>2); //"{"0":1,"2":2}"
$json = json_encode(new test); //"{"a":3,"str":"hello"}"
var_dump($json)
?>
<END>