2013-07-31 2 views
-2

Я пытаюсь использовать данные из API, используя вызов REST. мне удалось получить данные от API: Вы можете проверить демо на jsfiddle: http://jsfiddle.net/zTXyq/33/Как использовать JSON.stringify()

Теперь я пытаюсь выполнить работу, чтобы получить различные ресурсы из этого API Я читал эти две статьи: - http://www.jquery4u.com/demos/ajax/ - http://welcome.totheinter.net/tutorials/model-view-controller-in-jquery/

Я хотел бы знать, почему мы используем JSON.stringify(), если мы можем показать данные в HTML-страницах. Почему мы используем так называемую «класс»/«модель» для анализа данных с помощью json?

Привет,

+4

Возникает вопрос «Как использовать' JSON.stringify() '?" или «Почему мы используем' JSON.stringify() '?? (Ответы будут совсем другими.) – nnnnnn

+1

Оба! Если я не получу, как использовать его, потому что я не понимаю, почему мы его используем? –

+0

Прочитайте эту страницу: http://json.org/ – cfs

ответ

2

JSON представляет собой структуру данных, что означает, что служит для транспортировки переменных, массивов и прочего.

Отправка переменных в html-код будет глупой - поэтому мы используем JSON.

JSON.stringify() - это служебная функция, которая наиболее часто используется для отладки, когда вы хотите напечатать некоторую переменную на консоли, но есть и другие виды использования.

console.log(JSON.stringify(myObject)); 

Что делает функцию, является то, что он принимает объект, массив или о чем-нибудь еще, и делает читаемую строку его, а просто использовать что-то вроде этого ↓↓ даст вам только [Object].

console.log(myObject); 

Если все, что вы действительно хотите, чтобы отправить некоторые HTML, который будет отображаться, то вам не нужно возиться с JSON вообще, а просто использовать jQuery.load() или что-то подобное.

+0

Фактически вы можете передавать данные с помощью HTML. Но это не предназначено для такого использования! – ComFreek

+0

Спасибо! Почему мы используем так называемую «класс»/«модель» для анализа данных с помощью json? –

+5

Что, черт возьми, это «класс»/«модель»? – MightyPork

0

Я надеюсь, что вы agreee, что в JavaScript объекты кода JSON красиво и легко использовать, например

var jsonObj { "p1": "1", "p2": "2"}; 

if (jsonObj.p1 == '1') { // do something } 

Но если мы хотим, чтобы передать этот объект вокруг не яваскрипт кода, например, в PHP сценарий, мы не можем этого сделать. Итак, вступает в игру stringify, мы строим наш объект JSON, т. Е. Преобразуем весь объект в строку, теперь мы можем передать это всему, что может преобразовать его в нечто полезное. Таким образом, PHP имеет функцию json_decode() для преобразования строкового json object/array в объект/массив PHP, чтобы он снова стал полезным. Теперь, когда мы хотим передать данные с PHP на javascript, мы преобразуем объект/массив PHP в строку json с помощью json_encode(), и теперь мы можем передать объект/массив обратно в javascript как строку для использования JSON. parse(), чтобы он мог преобразовать его обратно в полезный объект/массив.

Таким образом, stringify позволяет нам конвертировать языковые форматы для объектов/массивов в универсально доступный формат, т. Е. Строку. Поэтому любой язык, который предоставляет способ преобразования этого сжатого формата в его собственные языковые специфические форматы для объектов/массивов, может использовать эти данные и, конечно же, возвращать его снова через строгий формат.

+0

Обратите внимание, что не все объекты JavaScript могут быть представлены как JSON (поскольку объекты могут иметь свойства, относящиеся к функциям, и могут иметь циклические ссылки и т. Д.). – nnnnnn

Смежные вопросы