查看一下返回的数据格式 items[i]rectime 可能是个对象,不是字符串。
JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
在 JS 语言中,一切都是对象。因此,任何支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。但是对象和数组是比较特殊且常用的两种类型。
对象:对象在 JS 中是使用花括号包裹 {} 起来的内容,数据结构为 {key1:value1, key2:value2, } 的键值对结构。在面向对象的语言中,key 为对象的属性,value 为对应的值。键名可以使用整数和字符串来表示。值的类型可以是任意类型。
数组:数组在 JS 中是方括号 [] 包裹起来的内容,数据结构为 ["java", "javascript", "vb", ] 的索引结构。在 JS 中,数组是一种比较特殊的数据类型,它也可以像对象那样使用键值对,但还是索引使用得多。同样,值的类型可以是任意类型。
只能用循环,代码如下:
[html] view plain copy
var head_id = "";
var head_pid = "";
for (var i = 0; i < dataheadlength; i++) {
head_id += datahead[i]id + " "; //循环输出json数据
head_pid += datahead[i]pid + " ";
}
$("#city")append("city:" + head_id);
$("#city")append("province:" + head_pid);
这样,将会在data之后,依次输出json中的数据。
若想有选择性的输出时,需要添加if条件,代码如下:
[html] view plain copy
for (var i = 0; i < dataheadlength; i++) {
if (datahead[i]pid == "河南省") { //有选择的输出json数据
head_pid += datahead[i]pid;
}
}
ps:需要注意的是,倘若对象中有多组数据,则用dataheadid是undefined的,因为没有标明是哪组数据,例如datahead[0]id,若对象中只有一组数据,则可以直接用dataheadid输出。
var obj = {"id": 1, "name":"张三"};
for(var key in obj)
{
alert("Key是:" + key);
alert("对应的值是:" + obj[key]);
}
Js遍历json对象所有key及根据动态key获取值:
Js代码
<script type="text/javascript">
getJson('age');
function getJson(key){
var jsonObj={"name":"傅红雪","age":"24","profession":"刺客"};
//1、使用eval方法
var eValue=eval('jsonObj'+key);
alert(eValue);
//2、遍历Json串获取其属性
for(var item in jsonObj){
if(item==key){ //item 表示Json串中的属性,如'name'
var jValue=jsonObj[item];//key所对应的value
alert(jValue);
}
}
//3、直接获取
alert(jsonObj[''+key+'']);
}
</script>
通过上边三种方法就可以取到json中key对应的值。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)