Показать сообщение отдельно
  #1 (permalink)  
Старый 17.12.2015, 02:35
Новичок на форуме
Отправить личное сообщение для EnoD Посмотреть профиль Найти все сообщения от EnoD
 
Регистрация: 17.12.2015
Сообщений: 5

Парсинг JSON по URL. Как???
Доброго времени суток уважаемые форумчане. Необходима ваша помощь и консультация. Я только начал знакомиться с javascript, и столкнулся со следующей проблемой:

Существует ресурс (магазин игровых вещей) предоставляющий информацию о товаре в виде JSON строки:

https://market.csgo.com/api/ItemInfo...52_0/en/?key=1

Я написал простой скрипт, позволяющий получать мне необходимые данные ( Имя товара, его качество и цену):

<!DOCTYPE html>
<html>
<head>
<meta charset = "UTF-8"/>
</head>
<body>
<script type="text/javascript">
function info(){	
var jsontext = '{"classid":"1293510722","instanceid":"143865972","market_name":"Shadow Case Key","name":"Shadow Case Key","market_hash_name":"Shadow Case Key","rarity":"Base Grade","quality":"","type":"Key","mtype":"CSGO_Tool_WeaponCase","slot":"Normal","description":[{"type":"html","value":"This key only opens Shadow Cases"},{"type":"html","value":" "},{"type":"html","value":"","color":"00a000","app_data":{"limited":1}}],"tags":[{"internal_name":"CSGO_Tool_WeaponCase_KeyTag","name":"Key","category":"Type","category_name":"Type"},{"internal_name":"normal","name":"Normal","category":"Quality","category_name":"Category"},{"internal_name":"Rarity_Common","name":"Base Grade","category":"Rarity","color":"b0c3d9","category_name":"Quality"}],"hash":"5d3588cdec78090c5367203cce582e73","min_price":"15400","offers":[{"price":"15400","count":"6"},{"price":"15889","count":"5"},{"price":"15890","count":"3"},{"price":"15900","count":"9"},{"price":"16214","count":"38"},{"price":"17200","count":"2"},{"price":"19000","count":"6"},{"price":"2000000","count":"9"}],"buy_offers":[{"o_price":"14610","c":"2"},{"o_price":"14500","c":"1"},{"o_price":"14400","c":"1"},{"o_price":"14100","c":"1"},{"o_price":"14000","c":"2"},{"o_price":"13900","c":"1"},{"o_price":"13700","c":"1"},{"o_price":"13504","c":"1"},{"o_price":"13500","c":"1"},{"o_price":"13300","c":"1"},{"o_price":"13000","c":"1"},{"o_price":"12700","c":"1"},{"o_price":"12400","c":"1"},{"o_price":"12100","c":"1"},{"o_price":"11700","c":"1"},{"o_price":"11501","c":"1"},{"o_price":"11000","c":"3"},{"o_price":"10600","c":"1"},{"o_price":"10300","c":"1"},{"o_price":"10000","c":"2"},{"o_price":"1453","c":"1"},{"o_price":"100","c":"1"}]}';
var data = JSON.parse(jsontext);
console.log ("Имя: " + data.name + " Качество: " + data.slot + " Цена: " + data.min_price);
	}
 info();
</script>
</body>
</html>


Вся загвоздка заключается в том, что полученную JSON строку, мне в ручную приходится копировать в переменную "jsontext". Подумал, что наверняка можно парсить сразу по URL.

Почитав еще материал на данную тему - я нашел, что это можно осуществить с помощью $.getJSON. И столкнулся с таким понятием как кроссдоменные запросы. И тупик. Ошибка за ошибкой. Даже простой пример с получением JSON из локального файла, у меня и то не получился.

<!DOCTYPE html>
<html>
<head>
<meta charset = "UTF-8"/>
<script src="jquery.js"></script>
</head>
<body>
<script type="text/javascript">
$.getJSON("test.json", function(json) {
    console.log(json); // this will show the info it in firebug console
});
</script>
<hr>
<script type="text/javascript">
</script>
</body>
</html>


XMLHttpRequest cannot load file:///C:/Users/Argot/Desktop/test.json. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.send @ jquery.js:8630

Читаю сейчас про кросдоменные запросы, для меня это темный лес.

Поэтому если кто нибуть, откликнется на мою просьбу и сможет помочь мне или сможет написать готовое решение с парсингом по url, его помощь не останется безвозмездной!
Заранее благодарен.
Ответить с цитированием