Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
-10 / 2 / 0
Регистрация: 26.05.2016
Сообщений: 89
1

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

25.02.2017, 11:50. Показов 2505. Ответов 7

Привет!
Подскажите как получить данные в переменную.

Есть json фаил
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
{
 "arr": [
  {
    "text1": "first",
    "text2": "second",
  },
  {
    "text11": "first",
    "text22": "second",
  }
 ]
}
И код который его принимает:
Javascript
1
2
3
4
5
6
7
8
9
$.ajax({
    url: '../test.json',
    dataType: 'json',
    type: 'get',
    cache: 'false',
    success: function(data) {
        console.log(data.arr);
    }
});
Но если присвоить:
Javascript
1
2
3
4
5
    success: function(data) {
        var arrTest = data.arr;
    }
 
    console.log(arrTest);
То вернет arrTest is not defined
Если объявить переменную глобально то вернет undefined

Посоветуйте как быть?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.02.2017, 11:50
Ответы с готовыми решениями:

WebRequest и WebResponce: как полученные данные записать не в файл, а в переменную
WebRequest webReq = WebRequest.Create("http://google.com"); WebResponse webRes =...

Распарсить json и записать полученные данные в массив
Прочитал статью где такой json { "firstName": "Иван", "lastName": "Иванов", ...

Как получить полученные json данные из вне функции
Есть файл json.php, который генерирует json данные такого вида: json.php есть файл которые...

Com port. Как записать полученные данные в файл?
В событие SerialPort.DataReceived постоянно приходят данные, по нажатию определенной кнопки должна...

7
502 bad gateway
Эксперт PHP
4525 / 3682 / 1543
Регистрация: 24.04.2014
Сообщений: 10,842
25.02.2017, 12:20 2
Цитата Сообщение от spiegel Посмотреть сообщение
Есть json фаил
Данные в этом файле не являются корректной json строкой.
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
{
 "arr": [
  {
    "text1": "first",
    "text2": "second"
  },
  {
    "text11": "first",
    "text22": "second"
  }
 ]
}
0
-10 / 2 / 0
Регистрация: 26.05.2016
Сообщений: 89
25.02.2017, 13:45  [ТС] 3
Jewbacabra,
Это в примере лишняя запятая, но в любом случае проблема не по этому.
0
9 / 9 / 10
Регистрация: 20.04.2014
Сообщений: 44
25.02.2017, 13:57 4
можно использовать callback
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function getData(callback){
$.ajax({
    url: '../test.json',
    dataType: 'json',
    type: 'get',
    cache: 'false',
    success: function(data) {
        callback(data.arr);
    }
});
 
}
getData(function(arr){
   console.dir(arr);
});
0
-10 / 2 / 0
Регистрация: 26.05.2016
Сообщений: 89
25.02.2017, 14:12  [ТС] 5
kserksys,
через callback мы все ровно не сможем вынести в data.arr в глобальную область видимости, что бы можно было к ней обратится из другой функции
0
502 bad gateway
Эксперт PHP
4525 / 3682 / 1543
Регистрация: 24.04.2014
Сообщений: 10,842
25.02.2017, 15:52 6
Цитата Сообщение от spiegel Посмотреть сообщение
но в любом случае проблема не по этому.
Ну так убедись для начала что вот тут в консоли будет виден корректный распарсенный json, а не просто строка, а потом и передавай его в глобальную область видимости
Javascript
1
2
3
success: function(data) {
    console.log(data);
}
0
-10 / 2 / 0
Регистрация: 26.05.2016
Сообщений: 89
25.02.2017, 18:31  [ТС] 7
Jewbacabra,
Зачем вы пишете если не знаете?
0
Superposition
948 / 614 / 256
Регистрация: 27.10.2013
Сообщений: 2,084
26.02.2017, 00:34 8
Цитата Сообщение от spiegel Посмотреть сообщение
То вернет arrTest is not defined
Если объявить переменную глобально то вернет undefined
Операция асинхронная, поэтому выполнится сначала console.log(arrTest) затем, когда-то в будущем, выполнится коллбек success.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.02.2017, 00:34

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

Как полученные данные из linqEntities записать в datatable
Соответственно есть запрос linqEntities: var query = from col in linqEntities.TestTable ...

Парсер grab, как записать полученные данные в файл?
Для записи в таком виде всё записывается from grab import Grab from urllib import urlopen f1 =...

Json полученные данные
Всем привет! У меня локальный файл json Он читается функцией: function readTextFile(file,...

JSON.parse() не хочет обрабатывать данные, полученные из php
$.ajax( { type: 'POST', url: "php/reg.php", data: { login: login, password: pass,...


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

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

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