夺命雷公狗---javascript NO:26 json数据格式

1、什么是json

答:所谓的json就是一种无序的数据集合,在JavaScript代码中可以通过一组花括号{}来表示这个集合。

2、为什么需要json

答:为了保存和编辑大批量数据

3、json的定义和使用

var json对象 = {属性:属性的值,…};

var json对象 = {‘属性’:属性的值,…};

var json对象 = {“属性”:属性的值,…};

 

1)json对象的定义

 

 

 

 

例1:定义一个json对象,用于保存一个人的信息

 

<!DOCTYPE html>
<html>
<head>
<meta charset=’utf-8′>
<title></title>
</head>
<body>
<script>
var person = {name:’lisi’,age:55,address:’广东省广州市’};
var person = {‘name':’lisi’,’age':25,’address':’广东省广州市’};
var person = {“name”:”lisi”,”age”:50,”address”:”广东省广州市”};
</script>
</body>
</html>

 

 

json对象的调用

json对象.属性

 

<!DOCTYPE html>
<html>
<head>
<meta charset=’utf-8′>
<title></title>
</head>
<body>
<script>
var person = {name:’lisi’,age:55,address:’广东省广州市’};
alert(person.name+’–‘+person.age+’–‘+person.address);
</script>
</body>
</html>

 

 

使用json保存多个人的信息

在实际项目开发中,我们通常使用xml或json保存大批量数据。

定义格式如下:

var json对象 = [{属性:属性的值,…},{属性:属性的值,…},{属性:属性的值,…}];

 

示例代码:

 

<!DOCTYPE html>
<html>
<head>
<meta charset=’utf-8′>
<title></title>
</head>
<body>
<script>
var person = [{
name:’lisi’,
age:50,
address:’广东省广州市’
},{
name:’zhangsan’,
age:55,
address:’广东省广州市’
},{
name:’zhangfei’,
age:66,
address:’广东省广州市’
}];
alert(person[2].name+’–‘+person[2].age+’–‘+person[2].address);
</script>
</body>
</html>

 

 

json大批量数据遍历输出

<!DOCTYPE html>
<html>
<head>
<meta charset=’utf-8′>
<title></title>
</head>
<body>
<script>
var person = [{
name:’lisi’,
age:50,
address:’广东省广州市’
},{
name:’zhangsan’,
age:55,
address:’广东省广州市’
},{
name:’zhangfei’,
age:66,
address:’广东省广州市’
}];
//1.使用for循环遍历json格式数据
for(var i=0;i<person.length;i++){
document.write(person[i].name+’—‘);
document.write(person[i].age+’—‘);
document.write(person[i].address);
document.write(‘<hr/>’);
}
//2.使用for..in..循环遍历json格式数据
for(var i in person){
document.write(person[i].name+’—‘);
document.write(person[i].age+’—‘);
document.write(person[i].address);
document.write(‘<hr/>’);
}
</script>
</body>
</html>

 

 

为json对象定义成员方法

 

<!DOCTYPE html>
<html>
<head>
<meta charset=’utf-8′>
<title></title>
</head>
<body>
<script>
var json = {
name:’lisi’,
age:22,
//成员方法
speak:function(){
alert(this.name+’—‘+this.age);
}
};
json.speak();
</script>
</body>
</html>

 

 

php与json

1)把数组或对象转化为json数据格式

json_encode(数组或对象);

 

2)把json数据格式转化为数组或对象

json_decode(json对象,true) :把json对象转换为数组

json_decode(json对象,false) :把json对象转换为对象

 

 

 

① 把数组转化为json数据

 

<?php
header(“Content-Type:text/html;charset=utf-8″);
$arr1 =  array(‘name’=>’lisi’, ‘age’=>’55’, ‘address’=>’广东省广州市’);
echo ‘一维数组';
echo json_encode($arr1);
echo “<hr/>”;
$arr2 = array(
array(
‘name’=>’lisi’,
‘age’=>’55’,
‘address’=>’广东省广州市’
),
array(
‘name’=>’zhangfei’,
‘age’=>’22’,
‘address’=>’广东省广州市’
),
array(
‘name’=>’wangwu’,
‘age’=>’15’,
‘address’=>’广东省广州市’
)
);
echo ‘二维数组';
echo json_encode($arr2);

 

 

② 把对象转化为json数据

 

<?php
header(“Content-Type:text/html;charset=utf-8″);
class Person{
public $name;
public $age;
public $address;
}
$person = new Person();
$person -> name = ‘lisi';
$person -> age = 25;
$person -> address = ‘广东省广州市';
echo json_encode($person);

 

 

③ 把json数据转换为数组或对象

 

<?php
header(“Content-Type:text/html;charset=utf-8″);
class Person{
public $name;
public $age;
public $address;
}
$person = new Person();
$person -> name = ‘lisi';
$person -> age = 25;
$person -> address = ‘广东省广州市';
//json_encode($person);是将对象转换成json格式的
$json = json_encode($person);
//json转化为数组格式
$arr = json_decode($json,true);
print_r($arr);
echo ‘<hr/>';
//json转化成对象
$obj = json_decode($json);
print_r($obj);
 

 

posted @ 2015-12-09 10:16  夺命雷公狗  阅读(207)  评论(0编辑  收藏  举报