如何获取JSON对象中的属性值

如何获取JSON对象中的属性值,第1张

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 10 Transitional//EN" ">

查看一下返回的数据格式 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对应的值。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13375847.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-24
下一篇 2023-07-24

发表评论

登录后才能评论

评论列表(0条)

保存