Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
2 / 2 / 1
Регистрация: 01.11.2011
Сообщений: 16

Обработка файла *.json средствами "чистого" JavaScript

10.10.2015, 18:44. Показов 3296. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть файл data.json, содержащий массив объектов. Необходимо обработать его браузером, как строку JSON работать с его данными, как с данным объекта JS. Варианты реализации на JQuery уже видел, но нельзя ли для загрузки и преобразования данного файла обойтись без библиотек?

P.S. Ради загрузки одного файла и небольшой функции не хочется подключать целую библиотеку.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.10.2015, 18:44
Ответы с готовыми решениями:

Проблема парсинга json файла средствами JavaScript
Доброго времени суток дамы и господа. Цель была следующая: Выполнить парсинг json файла, подключить файл не смог, но выкрутился другим...

Парсинг JSON файла средствами PHP
Здравствуйте. Есть следующая задача: имеется файл JSON с определенной структурой, т.е есть несколько типов данных внутри данного файла,...

Перекодирование файла средствами JavaScript
Требуется создать файл в кодировке hex и забить туда текст. Текст уже шестнадцатиричный, но когда я создаю объект - его кодировка...

16
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
10.10.2015, 18:54
Vadster, в json нельзя делать функции

Добавлено через 1 минуту
попробуйте стандартную для js функцию JSON.parse
а вот получать этот файл можно несоклькими способами, самый простой это ajax, думаю его вам и предлагали, но можно обойтись и jsonp

Добавлено через 2 минуты
короче то, как вы будете подключать этот файл зависит от вас
0
2 / 2 / 1
Регистрация: 01.11.2011
Сообщений: 16
10.10.2015, 19:03  [ТС]
BANO, говоря о функциях, я говорил о том, что в качестве варианта мне предлагали использовать $.getJSON, но нужно подключать JQuery, чего делать не хочется.

О JSON.parse слышал, но она уже для готовой JSON строки, а мне нужно получить эту строку, загрузив файл. Вы не могли бы привести хотя бы пару примеров из
Цитата Сообщение от BANO Посмотреть сообщение
а вот получать этот файл можно несоклькими способами
если вас не затруднит.
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
10.10.2015, 19:15
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function getXmlHttp() {
    var xmlhttp;
    try {xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");}catch (e){try{xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");}catch (E){xmlhttp = false;}}if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {xmlhttp = new XMLHttpRequest();}
    return xmlhttp;
}
function getJSON(url, callback) {
    var req = getXmlHttp();
    var statusElem = document.getElementById('vote_status');
 
    req.onreadystatechange = function () {
        if (req.readyState == 4 && req.status == 200)
            callback(JSON.parse(req.responseText))
    };
    req.open('GET', url, true);
    req.send(null);
}
 
 
// использование
getJSON("/myJsonFile.json",function(obj){
    // obj - уже готовые данные, являющиеся объектами
});
1
2 / 2 / 1
Регистрация: 01.11.2011
Сообщений: 16
10.10.2015, 19:42  [ТС]
BANO, успешно запросил данные, но как воспользоваться ими из getJSON - неясно. Возможно, в function(obj) вместо obj стоит передать другие даннные - в зависимости от названия. В моем случае data.json является массивом безымянных объектов.
Для примера, приведу часть своего JSON:

{ "mainarea": [
{"name":"value", "description": "value"},
{"name":"value", "description": "value"}
]
}

Обращение к ним было задумано через тело цикла, с использованием конструкции, к примеру
JavaScript
1
mainarea[0].name
Как взаимодействовать в данном случае?
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
10.10.2015, 19:52
Vadster, obj в данном случае будет вашими данными
я вообще не понимаю что вас не страивает?

вы просто тогда берёте ваш mainarea[0].name и всё

просто я вообще не понял проблему, которая встала теперь
0
2 / 2 / 1
Регистрация: 01.11.2011
Сообщений: 16
10.10.2015, 20:29  [ТС]
BANO, разобрался в работе функции, теперь все в норме.

Большое вам спасибо за скорый ответ и достойное терпение
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
10.10.2015, 20:31
я тут и сижу, чтобы давать совет и терпеть )
0
Superposition
 Аватар для Padimanskas
950 / 615 / 256
Регистрация: 27.10.2013
Сообщений: 2,083
10.10.2015, 20:35
Цитата Сообщение от BANO Посмотреть сообщение
я тут и сижу, чтобы давать совет и терпеть )

Не по теме:

Кому-то нравиться терпеть и давать советы. Кому-то нетривиальные задачи, разного плана))

0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
10.10.2015, 20:37
Padimanskas, знаете, в основном терпеть приходится не тс-ов, а форумчан, а точнее форумчанина, а если вообще точно, то калабуни
0
10.10.2015, 20:52

Не по теме:

ОК, BANO, договорились, теперь буду называть вас "терпила BANO" :)

0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
10.10.2015, 21:15
kalabuni, сам ты терпила

Помяни черта, он тут как тут
Добавлено через 1 минуту
kalabuni, скажем так
у вас "интересная" манера выражать своё недовольство, эта манера много людей бесит
я стараюсь этого не замечать, выражайтесь как хотите, только без оскорблений

Добавлено через 24 секунды

Не по теме:

блин, ща чай готовить придётся



Добавлено через 5 минут

Не по теме:

вот блин
1 пост от калабуни, и столько негативных эмоций

он меня скоро в психушку сведёт %-)



Добавлено через 4 минуты
kalabuni, а ещё раз обзовёшь, будем действовать по правилам форума
0
10.10.2015, 21:17

Не по теме:

Цитата Сообщение от BANO Посмотреть сообщение
а ещё раз обзовёшь, будем действовать по правилам форума
не понравилось?
ну извините
я думал, просто улыбнётесь... как вчерашний лемур :)

хорошо, тогда буду называть притерпевшийся BANO -- так оно лучше?

0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
10.10.2015, 21:21
kalabuni, лучше будет просто BANO
нет не улыбнусь, унижение - не смешная вещь
0
Superposition
 Аватар для Padimanskas
950 / 615 / 256
Регистрация: 27.10.2013
Сообщений: 2,083
10.10.2015, 22:18
BANO, ну нравится ему разноцветный апперкейс, и что?) Он же не спрашивает типа -"Эй, BANO! Мне буквы побольше сделать или так пойдет?"
0
10.10.2015, 23:47

Не по теме:

BANO, вместо чая вам надо употреблять лекарство "антитролль"
слышали про такое?

рецепт лекарства очень простой, из трёх слов: "не кормите тролля" -- после первого же сообщения, которое вам показалось троллингом, просто перестаньте троллю в этой ветке отвечать

вы мне симпатичны, вот потому и решил преподать вам небольшой предметный урок, уж извините :)

0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
10.10.2015, 23:54
Padimanskas, да знаю я что ему нравится издеваться над людьми
он для этого использует разные способы
от прямых оскорблений, до придирок к тому, чего не существует
и оба варианта он оформляет синими или красными цветами с жирным шрифтом

просто он такой "человек"

Добавлено через 33 секунды

Не по теме:

kalabuni, всё-таки вы троль



Добавлено через 59 секунд
kalabuni, постараюсь использовать ваше "лекарство"
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.10.2015, 23:54
Помогаю со студенческими работами здесь

Разбиение LPWSTR по разделителю средствами чистого WinApi
Добрый день. Требуется разбить LPWSTR на три части. Пример строки : " Один;Два;Три; ". Сделать это нужно - средствами чистого винапи,...

Импорт картинок из excel файла средствами javascript
Здравствуйте форумчане. Подскажите способ, библиотеку, метод как можно при парсинге excel файла достать из него картинки. Я искал...

Генерация рандомной букво-цифренной строки средствами чистого WinApi
Здравствуйте. Суть - в заголовке топика. Возможно-ли? Если такое возможно - хотелось-бы увидеть пример. Спасибо.

Обработка файла xls средствами PHP
Помогите пожалуйста! Есть файл эксель. В нем два листа (допустим Лист1 и Лист2). Есть заполненные столбцы А в обоих листах с разными...

Обработка JSON файла
Добрый день. Я только начинаю работать с 1С и у меня появилась задача обработать JSON файл с сайта. Я делаю это следующим образом: Если...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru