用循环或if语句从json中取数据示例

网络编程 发布日期:2024/10/8 浏览次数:1

正在浏览:用循环或if语句从json中取数据示例

首先,例如json数据如下书写:

{"head": [ 
{"text":"广州","id":"广州","pid":"广东省"}, 
{"text":"郑州","id":"郑州","pid":"河南省"}], 
}

如上,倘若想将id和pid数据依次取出,就只能用循环,代码如下:

var head_id = ""; 
var head_pid = ""; 
for (var i = 0; i < data.head.length; i++) { 
head_id += data.head[i].id + " "; //循环输出json数据 
head_pid += data.head[i].pid + " "; 
} 
$("#city").append("city:" + head_id); 
$("#city").append("province:" + head_pid);

这样,将会在data之后,依次输出json中的数据。

若想有选择性的输出时,需要添加if条件,代码如下:

for (var i = 0; i < data.head.length; i++) { 
if (data.head[i].pid == "河南省") { //有选择的输出json数据 
head_pid += data.head[i].pid; 
} 
}

需要注意的是,倘若对象中有多组数据,则用data.head.id是undefined的,因为没有标明是哪组数据,例如data.head[0].id,若对象中只有一组数据,则可以直接用data.head.id输出。

另外,倘若调出来的json数据,中文乱码,一方面查看json调用的jquery代码,另一方面,可能是编写json数据的文件的问题。

以上是自学json的一点学习所得,记录一下。

(注:对象中多个数据时,直接使用)(注:对象中多个数据时,直接使用)

一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?