在javascript中循环使用JSON格式
我是一个尝试用javascript编写公交车站应用程序的新手 我需要构建一个带有街道id和街道名称的JSON 我构建了这个json:在javascript中循环使用JSON格式,javascript,json,loops,for-loop,foreach,Javascript,Json,Loops,For Loop,Foreach,我是一个尝试用javascript编写公交车站应用程序的新手 我需要构建一个带有街道id和街道名称的JSON 我构建了这个json: { "id1": "2001", "street1": "street name a", "id2": "1297", "street2": "street name b", "id3": "1347", "street3": "street name c", "id4": "3310", "stre
{
"id1": "2001",
"street1": "street name a",
"id2": "1297",
"street2": "street name b",
"id3": "1347",
"street3": "street name c",
"id4": "3310",
"street4": "street name d",
"id5": "4770",
"street5": "street name e",
"id6": "3133",
"street6": "street name f",
"id7": "3230",
"street7": "street name g",
"id8": "1471",
"street8": "street name h",
"id9": "1002",
"street9": "street name i",
"id10": "3816",
"street10": "street name l"
}
有10站可供选择,但只需一站
我需要在纯javascript中完成这项工作,没有jQuery或其他JS框架
所以我想循环这个JSON来检查哪个id不是未定义的,以便只获取带有值的id
我试图在Google和here上为JSON解析搜索构建一个简单的for循环,但我对JSON还不熟悉,所有的解决方案都不适合我的需要
请有人教我怎么做……同时我将学习JSON是如何工作的。将JSON重新定义为对象数组,您可以使用索引循环:
var stops = [
{"id": "2001",
"street": "street name a"},
{"id": "1297",
"street": "street name b"}
...
]
将JSON重新定义为对象数组,您可以使用索引在其中循环:
var stops = [
{"id": "2001",
"street": "street name a"},
{"id": "1297",
"street": "street name b"}
...
]
这就是如何循环这个json对象 您可以将json定义分配到一个变量中,如果此json定义是变量,则必须使用
函数json.parse()
如果您知道此对象中有多少个公共汽车站,则可以执行此操作
var stops = 10;
for (var i=1;i<=stops;i++)
{
var id = data['id'+i]; // it returns '2001' in the first iteration
var street = data['street'+i]; // it returns 'street name a' in the first iteration
}
var停止=10;
对于(var i=1;i这就是如何循环这个json对象
您可以将json定义分配到一个变量中,如果此json定义是变量,则必须使用函数json.parse()
如果您知道此对象中有多少个公共汽车站,则可以执行此操作
var stops = 10;
for (var i=1;i<=stops;i++)
{
var id = data['id'+i]; // it returns '2001' in the first iteration
var street = data['street'+i]; // it returns 'street name a' in the first iteration
}
<代码>var停止=10;
对于(var i=1;i您的数据结构中不应该有一个索引器,因此使用id而不是id1,使用street而不是street1,元素在结构中的位置决定了它的索引。想象一下,如果名称中有一个索引器,500个公交车站,您需要在索引3处放置一个新的公交车站,会发生什么
因此,数据结构类似于:
var busstops = [
{ "id": "2001", "street": "street name a"},
{ "id": "1297", "street": "street name b"},
{ "id": "1347", "street": "street name c"},
{ "id": "3310", "street": "street name d"},
{ "id": "4770", "street": "street name e"},
{ "id": "3133", "street": "street name f"},
{ "id": "3230", "street": "street name g"},
{ "id": "1471", "street": "street name h"},
{ "id": "1002", "street": "street name i"},
{ "id": "3816", "street ": "street name l"}
]
不,您可以循环它:
var i = 0;
while (stop = busstops[i++]) {
alert(stop.id);
}
您的数据结构中不应该有索引器,因此使用id而不是id1,使用street而不是street1,元素在结构中的位置决定了它的索引。想象一下,如果在名称中有一个索引器,500个公交车站,您需要在索引3处放置一个新的公交车站,会发生什么
因此,数据结构类似于:
var busstops = [
{ "id": "2001", "street": "street name a"},
{ "id": "1297", "street": "street name b"},
{ "id": "1347", "street": "street name c"},
{ "id": "3310", "street": "street name d"},
{ "id": "4770", "street": "street name e"},
{ "id": "3133", "street": "street name f"},
{ "id": "3230", "street": "street name g"},
{ "id": "1471", "street": "street name h"},
{ "id": "1002", "street": "street name i"},
{ "id": "3816", "street ": "street name l"}
]
不,您可以循环它:
var i = 0;
while (stop = busstops[i++]) {
alert(stop.id);
}
那么…这里的实际问题是什么?如何“循环通过(a)json(字符串)”?你一定尝试过什么…是的@Sumurai8,我很匆忙,在发布之前没有阅读所有问题…那么…这里的实际问题是什么?如何“循环通过(a)json(字符串)”“?你一定试过什么了……是的@Sumurai8,我很忙,在发帖之前我没有阅读所有的问题。。谢谢你的帮助,@Khalid。你的解决方案适合我的需要。谢谢你的帮助,@Khalid。你的解决方案适合我的需要。谢谢你教我。你的解决方案和Khalid的一样好,不幸的是,我只能接受一个。”回答!谢谢你教我这个。你的解决方案和Khalid的一样好,不幸的是我只能接受一个答案!