Форум программистов, компьютерный форум, киберфорум
JavaScript: Node.js
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 10.05.2016
Сообщений: 4
1

Как получить данные из json в массив и пробежаться по нему циклом ?

11.10.2016, 14:52. Просмотров 1370. Ответов 7
Метки нет (Все метки)


Подскажите, необходимо получить данные из json в массив и пробежаться по нему циклом, как сделать?
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
getAll(function (err, res) {
 
        async.mapSeries(res, function (warehouse, cb) {
 
            var options = {
                url: 'https://maps.googleapis.com/maps/api/geocode/json?language=en&address=' + warehouse.lat + "," + warehouse.lng,
                method: 'GET'
            };
 
            request(options, function (error, response, body) {
                if (error || response.statusCode != 200 || !body) {
                    return cb(null, null);
                }
 
                console.log(body);
 
                try {
                   var locationDict = body.results.address_components;
 
                    if (!locationDict) {
                     return cb(null, null);
                    }
 
                        var street = locationDict[0].types;
                        var route = locationDict[1].types;
                        var locality = locationDict[2].types;
                        var county = locationDict[3].types;
                        var state = locationDict[4].types;
                        var country = locationDict[5].types;
                        var postal_code = locationDict[6].types;
 
 
                        var data = {
                            address: {
                                street :locationDict.address_components[0].types,
                                route :locationDict.address_components[1].types,
                                locality :locationDict.address_components[2].types,
                                county :locationDict.address_components[3].types,
                                state :locationDict.address_components[4].types,
                                country :locationDict.address_components[5].types,
                                postal_code :locationDict.address_components[6].types
                               }
                           };
                    for(var i=0; i<locationDict.length; i++ ){
 
                    }
                } catch (e) {
                    log.error(e);
                   cb(null,null);
                }
                   update(warehouse.customer_name, warehouse.address_string, data, cb);
 
            });
 
        }, function (err, res) {
 
            if (err) {
                return cbGetWarehouses(err);
            }
 
            var warehouses = [];
 
            res.forEach(function (item) {
                warehouses = warehouses.concat(item);
            });
 
            return cbGetWarehouses(null, warehouses);
 
        });
 
    });
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.10.2016, 14:52
Ответы с готовыми решениями:

Как пробежаться по БД и записать данные в массив?
В программировании не профи, по этому такой вопрос: Есть БД, где первый столбец это idQueue,...

JSON массив получить данные по параметру
Из базы данных получаю json массив - $query = mysql_query(&quot;SELECT * FROM testbd&quot;); $user_data...

Как в cgi-скрипте получить данные POST-запроса к нему?
В общем и целом, я отправляю данные: import http.client,urllib.parse...

Пробежаться циклом по всем мувиклипам
Как с помощью цикла пробежаться по всем клипам которые находятся в клипе A, и прочесть свойства x,...

7
1078 / 1004 / 106
Регистрация: 28.02.2010
Сообщений: 2,889
11.10.2016, 14:58 2
Вопрос непонятный. Но вангую, что Object.keys - это то, что нужно.
0
Ренегат
Эксперт HTML/CSS
1735 / 1080 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
11.10.2016, 17:04 3
Евгений М., ещё можно использовать for (var key in object)... Но у меня гадательные навыки меньше, поэтому я просто предположу.
1
0 / 0 / 0
Регистрация: 10.05.2016
Сообщений: 4
12.10.2016, 11:37  [ТС] 4
как можно эту часть сократить?
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
var data = {};
 
                    for (i in locationDict){
                        if (locationDict[i].indexOf('street_number') !== -1 || locationDict[i].indexOf('route') !== -1) {
                           data.address = locationDict[i];
                        }
                        if (locationDict[i].indexOf('locality') !== -1 || locationDict[i].indexOf('political') !== -1){
                            data.city = locationDict[i];
                        }
                        if (locationDict[i].indexOf('administrative_area_level_2') !== -1){
                            data.county = locationDict[i];
                        }
                        if (locationDict[i].indexOf('administrative_area_level_1') !== -1){
                            data.state = locationDict[i];
                        }
                        if (locationDict[i].indexOf('country') !== -1){
                            data.country = locationDict[i];
                        }
                        if (locationDict[i].indexOf('postal_code') !== -1){
                            data.postal_code = locationDict[i];
                        }
                    }
0
35 / 35 / 15
Регистрация: 06.01.2014
Сообщений: 707
12.10.2016, 16:50 5
JavaSup, никак)

Добавлено через 3 минуты
А нет. можно
Вместо:
Javascript
1
locationDict[i].indexOf('street_number')
пишем:
Javascript
1
locationDict[i]['street_number']
Добавлено через 2 минуты
Javascript
1
locationDict[i]['street_number'] != undefined
0
BANO
12.10.2016, 17:16
  #6

Не по теме:

Randen, эммм, это кусок либы такой, или я чего-то не знаю о свойствах строк в js?

0
35 / 35 / 15
Регистрация: 06.01.2014
Сообщений: 707
12.10.2016, 18:42 7
BANO, ой, а я думал что это объект.
Просто тоже работал с данными osm, там приходят данные в json, а json это объект. Откуда тогда у него строка?

Наверно ему стоит распарсить строку в объект... Или я не знаю тогда. Но 100% инфа что данные мира хранятся объектами, а не строками.
0
0 / 0 / 0
Регистрация: 10.05.2016
Сообщений: 4
13.10.2016, 16:01  [ТС] 8
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
var data = {
                        address:null,
                        city:null,
                        country:null,
                        postal_code:null
                    };
 
                for ( var i = 0; i < locationDict.length; i++ ){
 
                    if (locationDict[i].types.indexOf('street_number') > -1 || locationDict[i].types.indexOf('route')>-1) {
                        data.address = locationDict[i].long_name;
                    }
                    if (locationDict[i].types.indexOf('locality') > -1 ){
                        data.city = locationDict[i].long_name;
                    }
                    if (locationDict[i].types.indexOf('political') > -1){
                        data.country = locationDict[i].long_name;
                    }
                    if (locationDict[i].types.indexOf('postal_code') > -1){
                        data.postal_code = locationDict[i].long_name;
                    }
                }
 
                    console.log("Result Data");
                    console.log(data);
на выходе
Result Data
{ address: null, как сделать чтобы добавилось 2 значения
city: 'Las Vegas',
country: 'United States',
postal_code: '89120' }

Добавлено через 1 час 53 минуты
Спасибо всем, задачу сделал
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.10.2016, 16:01

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Как получить данные из Json
Как получить значение из &quot;wd&quot;? {&quot;status&quot;:1,&quot;pogoda&quot;:{&quot;Moscow (2)&quot;:{&quot;wd&quot;:7,&quot;lv&quot;:0},&quot;Kazan (1...

Как получить данные из JSON?
Доброго времени суток, форумчане. Помогите разобраться с JSON, есть следующий код: &lt;!doctype...

Считать значение а, отобразить график f=x+a и пробежаться по нему точкой.
Прошу помочь, не знаю как написать программу на языке си или си плюс плюс!! Задача: считаешь...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.