计算机网络/计算机科学与应用/系统/运维/开发

JSON


JSON是一种轻量级的数据交换格式,它简单优雅、易于阅读和编写,用于浏览器和服务器之间的数据交换


JSON(JavaScript Object Notation)是Web应用中最常见的信息传输格式,和XML一样,JSON是存储和交换文本信息的一种语法。


其实JSON是JavaScript的子集,所以在Web程序中很容易使用,其格式表示为“名/值对”,如下所示:{"name" : "John"}


名称/值对包括字段名称(在双引号中)、冒号、值。


其中,值可以是以下数据类型:


数字(整数或浮点数)

字符串(在双引号中)

逻辑值(true 或 false)

数组(在方括号中)

对象(在花括号中)

null


JSON 基于两种数据结构类型:数组和对象构建


JSON 对象在花括号中书写,可以包含多个名称/值对,如下:


var myJSON ={ "firstName" :"John",  "lastName" :"Doe"};
document.writeln(myJSON.firstName); // 输出John
document.writeln(myJSON.lastName); // 输出Doe


实际上,该对象与下面的JavaScript语句等价:

firstName = "John"
lastName = "Doe"


而JSON 数组需要在方括号中书写,数组中可包含多个对象:


var employees = [
    { "firstName":"Bill" , "lastName":"Gates" },
    { "firstName":"George" , "lastName":"Bush" },
    { "firstName":"Thomas" , "lastName": "Carter" }
];


可以这样访问 JavaScript对象数组中的第一项:

employees[0].lastName;  返回内容是:Gates



操作:

<?php 
$json = '{"a":"php","b":"mysql","c":3}';
$json_class = json_decode($json);
//stdClass Object ( [a] => php [b] => mysql [c] => 3 )
print_r($json_class);

// 访问对象类型的值
echo $json_class->{'a'}; //php

echo "<br/>";

$json_array = json_decode($json,true);
//Array ( [a] => php [b] => mysql [c] => 3 )
print_r($json_array);

// 访问数组类型的值
echo $json_array['a']; //php

/*
总结:
1、json_decode()  -> json转对象 / 数组
参数2  为true  返回array  默认false返回Object
*/

echo "<br/>";

// json_encode() 对象/数组 转json
// 注意json只接受utf-8编码的字符,所以json_encode()的参数必须是utf-8编码,否则会得到空字符或者null。

读书和赚钱都是一个人最好的修行,前者使人不惑,后者使人不屈,二者结合,便可不困于世,不流于俗

评论

^