JSON教程
JSON调用
json的键名为数字时的调用方式
本文介绍当JSON的键名为数字的时候应该使用的调用方式,对于键名为数字或者非正常变量字符时(如有空格),必须使用objxx方式获取值。
代码如下:
<?php
//声明json数据
$array = array('result'=>array("90"=>"90队列","status"=>"成功"));
$json = json_encode($array);
$array1 = array("90"=>"90队列","status"=>"成功");
$json1 = json_encode($array1);
$phpjson = json_decode($json1,true);//第二个参数是true,表示把json数据转换为数组
//对于json键名是数字时,只能用数组方式处理$phpjson['90'];
?>
<!DOCTYPE unspecified PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
</head>
<body>
<script type="text/javascript">
/**
* 测试json数据调用示例
*/
function test(){
//调用方式一
var data = '<?php echo $json?>';//php json数据,这里只能用单引号,因为php的json数据中有双引号了
data = eval("("+data+")");//js 解析json数据,主要是因为json数据用单引号后变为字符串了
alert(data['result'][90]);//对于数字需要用数组的方式访问
alert(data['result'].status);//对于非数字可以使用.的方式访问
//调用方式二
var data1 = <?php echo $json1?>;//php json数据,这里没有用单引号,因为直接是json数据
alert(data1[90]);//对于数字需要用数组的方式访问
alert(data1.status);//对于非数字可以使用.的方式访问
alert(data1['status']);//还可以使用数组方式调用
//注:对于键名为数字或者非正常变量字符时(如有空格),必须使用obj[xx]方式获取值。
}
</script>
<input type="button" value="button" onclick="test();"/>
</body>
</html>
js获取json对象键名及值
遇到{"1",:"a"},{"2","b"}这种json对象,键名不固定,然后就不知道怎么取了,监视器下面是个object,没有什么属性方法。方法如下:
d = {"1": "a", "2": "b"}
for(i in d)
{
i 就是键,d[i]就是值
}
真是难者不会,会者不难啊。
实例如下:
<script>
d = {"1": "a", "2": "b"}
function GetJArray(selIndex,arr){
var index =0;
for(i inarr)
{
if(index == selIndex){
//i就是键,arr[i]就是值
document.write(i + ',' + arr[i] +'<br/>');
}
index +=1;
}
}
GetJArray(1,d);
</script>
JSON调用相关
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等),易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。从Web API和服务端编程语言到NoSQL数据库和客户端框架,都有JSON的身影,在不同平台间传递数据方面,JSON已成为XML强有力的替代者。
主页 | http://www.json.org/json-zh.htmljson |
源码 | https://github.com/topics/json |