Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Получение JSON (https://javascript.ru/forum/jquery/17308-poluchenie-json.html)

Kolyaj 18.05.2011 09:52

А массив это не JSON?

walik 18.05.2011 09:58

Ну вроде как у JSON такой формат:
{"var1":"val1", "var2":"val2"}

а у массива такой:
['val1', 'val2']

??

И для того что бы получить из строки в формате JSON надо скобочки в eval ставить:
str = eval('({"var1":"val1", "var2":"val2"})');

а для массива не надо:
arr = eval('["val1", "val2"]');


Или я чего то не догоняю в этих форматах ?)))

Kolyaj 18.05.2011 11:56

JSON -- это строка, в которой лежит что-то, удовлетворяющее грамматике http://json.org/
Это и массив, и объект, и строка, и число. Просто чаще всего передают объект, как наиболее расширяемую структуру.

Tmin10 18.05.2011 19:09

Да валидный JSON отдаёт google.
Лучше подскажите где в коде может быть ошибка или приведите рабочий пример, пожалуйста.

Цитата из вики:
Цитата:

JSON строится на двух структурах:
Набор пар имя/значение. В различных языках это реализовано как объект, запись, структура, словарь, хэш-таблица, список с ключом или ассоциативный массив.
Пронумерованный набор значений. Во многих языках это реализовано как массив, вектор, список или последовательность.

Это — универсальные структуры данных. Теоретически, все современные языки программирования поддерживают их в той или иной форме. Так как JSON используется для обмена данными между различными языками программирования, то имеет смысл строить его на этих структурах.

В JSON используются их следующие формы:
Объект — это неупорядоченное множество пар имя/значение, заключённое в фигурные скобки { }. Между именем и значением стоит символ «:», а пары имя/значение разделяются запятыми.
Массив (одномерный) — это множество значений, имеющих порядковые номера (индексы). Массив заключается в квадратные скобки [ ]. Значения отделяются запятыми.
Значение может быть строкой в двойных кавычках, числом, значением true или false, объектом, массивом, или значением null. Эти структуры могут быть вложены друг в друга.
Строка — это упорядоченное множество из нуля или более символов юникода, заключенное в двойные кавычки, с использованием escape-последовательностей начинающихся с обратной косой черты (backslash). Символы представляются простой строкой.

monolithed 18.05.2011 21:50

Цитата:

Сообщение от Tmin10
Лучше подскажите где в коде может быть ошибка или приведите рабочий пример, пожалуйста.

$.get('json.html', function(data) {
  $.each(data, function(index, value) {
      alert(index + ': ' + value);
    });
});

Tmin10 24.05.2011 19:53

Я видимо туплю но и Ваш код у меня не работает, можно рабочий пример с HTML обвязкой?


Часовой пояс GMT +3, время: 14:21.