JSON 教程
<body> <p> <script> JSON 语法是 JavaScript 对象表示法语法的子集。 JSON 数据的书写格式是:名称/值对。 名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值: "firstName" : "John" 这很容易理解,等价于这条 JavaScript 语句: firstName = "John" JSON 值可以是: JSON 对象在花括号中书写: 对象可以包含多个名称/值对: { "firstName":"John" , "lastName":"Doe" } 这一点也容易理解,与这条 JavaScript 语句等价: firstName = "John" JSON 数组在方括号中书写: 数组可包含多个对象: { 在上面的例子中,对象 "employees" 是包含三个对象的数组。每个对象代表一条关于某人(有姓和名)的记录。 因为 JSON 使用 JavaScript 语法,所以无需额外的软件就能处理 JavaScript 中的 JSON。 通过 JavaScript,您可以创建一个对象数组,并像这样进行赋值: var employees = [ 可以像这样访问 JavaScript 对象数组中的第一项: employees[0].lastName; 返回的内容是: Doe 可以像这样修改数据: employees[0].firstName = "Jonatan"; 在 php5.2.0 及以上版本已经内置 JSON 扩展。
函数 描述
<h2>JSON Object Creation in JavaScript</h2>
Name: <span></span><br />
Age: <span></span><br />
Address: <span></span><br />
Phone: <span></span><br />
</p>
var JSONObject= {
"name":"John Johnson",
"street":"Oslo West 555",
"age":33,
"phone":"555 1234567"};
document.getElementById("jname").innerHTML=JSONObject.name
document.getElementById("jage").innerHTML=JSONObject.age
document.getElementById("jstreet").innerHTML=JSONObject.street
document.getElementById("jphone").innerHTML=JSONObject.phone
</script>
</body>
JSON数据的访问格式为 JOSNNAME.JSONDATA
lastName = "Doe"
"employees": [
{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName":"Jones" }
]
}
{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName": "Jones" }
];
json_encode
对变量进行 JSON 编码
json_decode
对 JSON 格式的字符串进行解码,转换为 PHP 变量
json_last_error
返回最后发生的错误
json_encodePHP json_encode() 用于对变量进行 JSON 编码,该函数如果执行成功返回 JSON 数据,否则返回 FALSE 。
语法string json_encode ( $value [, $options = 0 ] )
参数以下实例演示了如何将 PHP 数组转换为 JSON 格式数据:
<?php
$arr = array(‘a‘ => 1, ‘b‘ => 2, ‘c‘ => 3, ‘d‘ => 4, ‘e‘ => 5);
echo json_encode($arr);?>
以上代码执行结果为:
{"a":1,"b":2,"c":3,"d":4,"e":5}
以下实例演示了如何将 PHP 对象转换为 JSON 格式数据:
<?php
class Emp {
public $name = "";
public $hobbies = "";
public $birthdate = "";
}
$e = new Emp();
$e->name = "sachin";
$e->hobbies = "sports";
$e->birthdate = date(‘m/d/Y h:i:s a‘, "8/5/1974 12:20:03 p");
$e->birthdate = date(‘m/d/Y h:i:s a‘, strtotime("8/5/1974 12:20:03"));
echo json_encode($e);?>
以上代码执行结果为:
{"name":"sachin","hobbies":"sports","birthdate":"08\/05\/1974 12:20:03 pm"}
json_decodePHP json_decode() 函数用于对 JSON 格式的字符串进行解码,并转换为 PHP 变量。
语法mixed json_decode ($json [,$assoc = false [, $depth = 512 [, $options = 0 ]]])
参数json_string: 待解码的 JSON 字符串,必须是 UTF-8 编码数据
assoc: 当该参数为 TRUE 时,将返回数组,FALSE 时返回对象。
depth: 整数类型的参数,它指定递归深度
options: 二进制掩码,目前只支持 JSON_BIGINT_AS_STRING 。
PHP写入和读取JSON文件