Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.11.2013, 22:31
Новичок на форуме
Отправить личное сообщение для gorenie Посмотреть профиль Найти все сообщения от gorenie
 
Регистрация: 28.11.2013
Сообщений: 4

Не могу распарсить JSON.
Здравствуйте, есть файл в формате JSON:
Код:
[{"makename":"Mitsubishi","makelogo":"MC","detailnum":"MB831042","detailname":"РЫЧАГ МАЯТНИКОВЫЙ","pricerur":"2779.58","quantity":"3","time":"1","timegar":"3","country":"Москва","supcode":"0589","statistic":"93"},{"makename":"Mitsubishi","makelogo":"MC","detailnum":"MB831042","detailname":"РЫЧАГ МАЯТНИКОВЫЙ","pricerur":"2926.08","quantity":"11","time":"1","timegar":"3","country":"Москва","supcode":"0485","statistic":"99"}]
При попытке распарсить:
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2002/REC-xhtml1-20020801/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
     <meta http-equiv="content-type" content="text/html; charset=utf-8" />
     <title>jQuery. getJSON</title>
     <meta name="description" content="jQuery library, AJAX. getJSON Function" />
     <script type='text/javascript' src='http://code.jquery.com/jquery-latest.js'></script>
     <link href="style.css" media="screen" rel="stylesheet" type="text/css" />  
</head>
<body>
<script>
$(document).ready(function () {
  $("#button").click(function () {
$.ajax({
             url:'222', // файл JSON
             dataType:'text', // Тип текстовый, при указании JSON результат не меняется
             success:function(json) {
             jQuery('#example-4').append('<br/>Detal: ' + json + '<br/>');
                                             }

         });
  });
});
</script>
         <div class="example cursor" id="example-4">Click to load JSON data</div>
     <div id="button" style="width:300px; height:300px; border:solid 1px red;"></div>
</body>
</html>
При выполнении данного кода я получаю весь текст из файла 222 в переменную json. При указании json.detailname или любого другого значения из файла выходит результат undefined.
При добавлении var res = jQuery.parseJSON(json); переменная res становиться такой же как и json и не даёт оперировать с данными.
Помогите пожалуйста распарсить, нужен рабочий вариант. Либо я где то что то делаю не так, либо всё делаю не так. ))
Проверка данных JSON указывает на валидный код.
Ответить с цитированием
  #2 (permalink)  
Старый 29.11.2013, 09:16
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от gorenie
При выполнении данного кода я получаю весь текст из файла 222 в переменную json
Так и написано в твоем примере.
Причем значение той переменной - строка.

Сообщение от gorenie
При указании json.detailname или любого другого значения из файла выходит результат undefined.
И это логично.
Т.к. json это некая строка и там нет такого свойства...

Сообщение от gorenie
Проверка данных JSON указывает на валидный код.
Таки есть.
Ты просто в корне не понимаешь с чем имеешь дело.

Сообщение от gorenie
Помогите пожалуйста распарсить
Там парсить ничего не нужно. Все уже распарсено до нас! (с)
Ответить с цитированием
  #3 (permalink)  
Старый 29.11.2013, 09:20
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от gorenie
Либо я где то что то делаю не так, либо всё делаю не так.
Видишь с чем ты имеешь дело?

var data = [
	{
		"makename": "Mitsubishi",
		"makelogo": "MC",
		"detailnum": "MB831042",
		"detailname": "РЫЧАГ МАЯТНИКОВЫЙ",
		"pricerur": "2779.58",
		"quantity": "3",
		"time": "1",
		"timegar": "3",
		"country": "Москва",
		"supcode": "0589",
		"statistic": "93"
	}, 
	{
		"makename": "Mitsubishi",
		"makelogo": "MC",
		"detailnum": "MB831042",
		"detailname": "РЫЧАГ МАЯТНИКОВЫЙ",
		"pricerur": "2926.08",
		"quantity": "11",
		"time": "1",
		"timegar": "3",
		"country": "Москва",
		"supcode": "0485",
		"statistic": "99"
	}
];
alert(data[0].detailname);
Ответить с цитированием
  #4 (permalink)  
Старый 29.11.2013, 22:26
Новичок на форуме
Отправить личное сообщение для gorenie Посмотреть профиль Найти все сообщения от gorenie
 
Регистрация: 28.11.2013
Сообщений: 4

Большое спасибо за содержательный ответ. Всё сразу заработало ))
Респект даже не по знанию, а по качеству ответа. Спасибо большое.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Распарсить JSON при помощи jQuery fennick AJAX и COMET 3 24.08.2011 19:21
JSON или JSONP для запросов на другой сервер? Метод GET, для длинных сообщений? Kotakota jQuery 5 23.08.2011 23:12
Не могу обработать JSON tomatosbass AJAX и COMET 4 18.07.2011 03:10
Google Chrom - не могу загрузить JSON из локального файла gipard Javascript под браузер 0 10.08.2010 16:10
jQuery. Обработка ошибок и JSON. mma_mma jQuery 3 19.07.2010 12:10