Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.06.2015, 14:09
Аспирант
Отправить личное сообщение для Dark19 Посмотреть профиль Найти все сообщения от Dark19
 
Регистрация: 29.04.2014
Сообщений: 82

Обработка json
Добрый день, есть ajax запрос:
$.ajax({
                                                                type: "POST",
                                                                url: "http://geotest/ajax.php",
                                                                data: { centerDist:centerDistance,pointDist:pointsDistance },
                                                                success: function(msg){

                                                                }
                                                            });

который посылает некие данные на обработку в php, после обработки они возвращаются вот в таком виде:
{"C":[{"path":["C","C3","C8","C2","C12","C"],"point":[["48.5515","29.5915"],["45.729","29.7453"],["48.0188","31.0637"],["47.6686","32.404"]]},{"path":["C","C11","C"],"point":{"4":["49.3284","31.1077"]}}],
"D":[{"path":["D","D7","D5","D4","D14","D"],"point":[["48.039","38.2796"],["47.1016","35.2604"],["48.6972","35.7438"],["50.0099","37.1602"]]},{"path":["D","D10","D"],"point":{"4":["50.0695","33.7004"]}}],
"A":[{"path":["A","A0","A13","A1","A"],"point":[["51.5378","33.5307"],["50.3561","32.1842"],["50.2153","29.5036"]]}],
"B":[{"path":["B","B9","B6","B"],"point":[["50.8827","25.3508"],["50.039","25.2796"]]}]}


Подскажите как можно вытащить все значения поля "point" ?

Последний раз редактировалось Dark19, 26.06.2015 в 14:12.
Ответить с цитированием
  #2 (permalink)  
Старый 26.06.2015, 14:20
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

msg.C[1]
или
msg['C'][1]
Ответить с цитированием
  #3 (permalink)  
Старый 26.06.2015, 14:29
Аспирант
Отправить личное сообщение для Dark19 Посмотреть профиль Найти все сообщения от Dark19
 
Регистрация: 29.04.2014
Сообщений: 82

Сообщение от tsigel Посмотреть сообщение
msg.C[1]
или
msg['C'][1]
Пишет Uncaught TypeError: Cannot read property '1' of undefined
но там еще проблема в том, что буквы могут быть разными
Ответить с цитированием
  #4 (permalink)  
Старый 26.06.2015, 14:32
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Dark19, что мешает пройтись циклом, если вложенность известна?
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #5 (permalink)  
Старый 26.06.2015, 14:39
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

Dark19,

var msg = {
    "C": [{
        "path": ["C", "C3", "C8", "C2", "C12", "C"],
        "point": [
            ["48.5515", "29.5915"],
            ["45.729", "29.7453"],
            ["48.0188", "31.0637"],
            ["47.6686", "32.404"]
        ]
    }, {
        "path": ["C", "C11", "C"],
        "point": {
            "4": ["49.3284", "31.1077"]
        }
    }],
    "D": [{
        "path": ["D", "D7", "D5", "D4", "D14", "D"],
        "point": [
            ["48.039", "38.2796"],
            ["47.1016", "35.2604"],
            ["48.6972", "35.7438"],
            ["50.0099", "37.1602"]
        ]
    }, {
        "path": ["D", "D10", "D"],
        "point": {
            "4": ["50.0695", "33.7004"]
        }
    }],
    "A": [{
        "path": ["A", "A0", "A13", "A1", "A"],
        "point": [
            ["51.5378", "33.5307"],
            ["50.3561", "32.1842"],
            ["50.2153", "29.5036"]
        ]
    }],
    "B": [{
        "path": ["B", "B9", "B6", "B"],
        "point": [
            ["50.8827", "25.3508"],
            ["50.039", "25.2796"]
        ]
    }]
}
 function fn(data)
 {
    Object.keys(data).forEach(function (key) {

	alert(data[key][0]["point"])

});

 }
fn(msg)
Ответить с цитированием
  #6 (permalink)  
Старый 26.06.2015, 14:52
Аспирант
Отправить личное сообщение для Dark19 Посмотреть профиль Найти все сообщения от Dark19
 
Регистрация: 29.04.2014
Сообщений: 82

рони,
у меня почему-то пишет undefined и все
Ответить с цитированием
  #7 (permalink)  
Старый 26.06.2015, 15:04
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

Dark19,
смотрите что вы получили в msg
Ответить с цитированием
  #8 (permalink)  
Старый 26.06.2015, 15:13
Аспирант
Отправить личное сообщение для Dark19 Посмотреть профиль Найти все сообщения от Dark19
 
Регистрация: 29.04.2014
Сообщений: 82

Сообщение от рони Посмотреть сообщение
Dark19,
смотрите что вы получили в msg
Вот:
{"C":[{"path":["C","C3","C8","C2","C12","C"],"point":[["48.5515","29.5915"],["45.729","29.7453"],["48.0188","31.0637"],["47.6686","32.404"]]},{"path":["C","C11","C"],"point":{"4":["49.3284","31.1077"]}}],"D":[{"path":["D","D7","D5","D4","D14","D"],"point":[["48.039","38.2796"],["47.1016","35.2604"],["48.6972","35.7438"],["50.0099","37.1602"]]},{"path":["D","D10","D"],"point":{"4":["50.0695","33.7004"]}}],"A":[{"path":["A","A0","A13","A1","A"],"point":[["51.5378","33.5307"],["50.3561","32.1842"],["50.2153","29.5036"]]}],"B":[{"path":["B","B9","B6","B"],"point":[["50.8827","25.3508"],["50.039","25.2796"]]}]}


больше нет ничего
Ответить с цитированием
  #9 (permalink)  
Старый 26.06.2015, 15:19
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

Dark19,
может вы забыли распарсить?
JSON.parse(msg)['C'][1];


Читайте $.ajax dataType: 'json'
Ответить с цитированием
  #10 (permalink)  
Старый 26.06.2015, 15:22
Аспирант
Отправить личное сообщение для Dark19 Посмотреть профиль Найти все сообщения от Dark19
 
Регистрация: 29.04.2014
Сообщений: 82

рони,
Может я не так пишу что-то?
$.ajax({
                                                                type: "POST",
                                                                url: "http://geotest/ajax.php",
                                                                data: { centerDist:centerDistance,pointDist:pointsDistance },
                                                                success: function(msg){
console.log(msg);

                                                                    function fn(data)
                                                                    {
                                                                        Object.keys(data).forEach(function (key) {
                                                                            console.log(data[key][0]["point"])
                                                                        });
                                                                    }
                                                                    fn(msg);
                                                                }
                                                            });
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка JSON в JS devastor AJAX и COMET 2 16.09.2014 07:36
Обработка json tion Общие вопросы Javascript 15 12.05.2013 18:39
обработка json на jQuery karmis AJAX и COMET 2 11.03.2012 16:24
Обработка JSON menangen AJAX и COMET 0 14.05.2011 16:54
jQuery. Обработка ошибок и JSON. mma_mma jQuery 3 19.07.2010 12:10