Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中循环使用JSON格式_Javascript_Json_Loops_For Loop_Foreach - Fatal编程技术网

在javascript中循环使用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

我是一个尝试用javascript编写公交车站应用程序的新手

我需要构建一个带有街道id和街道名称的JSON

我构建了这个json:

{
    "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的一样好,不幸的是我只能接受一个答案!