Где/когда мы используем JSON?

Можно использовать

load_source(module_name, path_to_file) 

метод от модуль импорта .

15
задан sth 22 July 2009 в 04:38
поделиться

9 ответов

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

21
ответ дан 1 December 2019 в 00:33
поделиться

Несмотря на название, одним из основных применений формата JSON является веб-разработка AJAX (хотя, конечно, не единственная). Его часто предпочитают традиционному XML из-за его легкого синтаксиса.

8
ответ дан 1 December 2019 в 00:33
поделиться

JSON - это формат данных, используемый при передаче данных. Он используется в основном в вызовах Javascript AJAX.

Структура JSON представляет собой просто заключенные в квадратные скобки пары имя: значение. Благодаря своей компактности и простоте это лучшая структура для передачи относительно небольших наборов данных и вещей, которые можно сгруппировать в пары имя: значение.

Например:

Ajax-вызов prototype.js, преобразующий и получающий данные JSON. :

my_prototype_class = Class.create();  
my_prototype_class.prototype = {
    initialize: function() { 
        this.myarray = new Array();
        //do initialization
    },      
    my_function: function(direction){  
        new Ajax.Request('/my/url.php', 
            {     
                method: 'post',
                parameters: {   name: value,
                                myarray_data: this.myarray.toJSON()  },   
                onSuccess: function(transport) { 
                    var response = transport.responseText.evalJSON();
                    //handle response   
                },
                onFailure: function(){
                    //handle failure
                }    
            });  
    }
} 
Event.observe(window, "load", function(){new my_prototype_class();}, false);

А используя PHP, вы обрабатываете запрос примерно так:

function my_php_handler()
{   
    #parse POST data
    $name = $_POST["name"]; 
    $myarray_data = $_POST["myarray_data"];

    #transform the data in some way

    #return encoded string
    echo json_encode($results);
}

Что-то вроде:

[{"myarray": [], "name": value}]

будет передаваться в HTTP-запрос / ответ. Данные в этом формате называются JSON.

4
ответ дан 1 December 2019 в 00:33
поделиться

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

Если ваш проект требовалось хранение / транспортировка данных;)

3
ответ дан 1 December 2019 в 00:33
поделиться

JSON - отличный формат для передачи данных между Javascript и PHP. Чаще всего я использую сообщения о состоянии.

Вот какой-то Javascript для выполнения Ajax-запроса к небольшому PHP-скрипту.

    new Ajax.Request('dostuff.php', {
        method:  'get',
        parameters:  {'param1':  'this is param 1'},
        onSuccess:  function(response, jsonHeader){
          if(jsonHeader['status'] == 'Success'){
            //Everything is OK, do stuff
          }else{
            alert(jsonHeader['status']);
          }
        },
        onFailure:  function(){
            alert('Fail!');
        }
    });

Затем, на стороне PHP, вы можете иметь что-то вроде этого:

    $jsonHeader = array();

    if($_REQUEST['param1'])
    {
      echo '<p>You passed ' . $_REQUEST['param1'] . '</p>';
      $jsonHeader['status'] = 'Success';
    }else
    {
      $jsonHeader['status'] = 'Failed because the request was invalid';
    }

    if(is_array($jsonHeader) and sizeof($jsonHeader) > 0)
    {
      header('X-JSON: (' . json_encode($jsonHeader) . ')');
    }

Отличная штука этот Prototype автоматически декодирует заголовок X-JSON, создаваемый PHP.

Конечным результатом является то, что аргумент jsonHeader метода onSuccess в Javascript автоматически преобразуется в массив, который '

3
ответ дан 1 December 2019 в 00:33
поделиться

JSON - это относительно легкий формат обмена данными (по крайней мере, по сравнению с XML или HTML), который наиболее полезен при обмене небольшими объемами данных между веб-клиентом и веб-сервером / службой.

Однако это не лучший выбор (хотя и намного лучше, чем XML) для обмена большими списками данных из-за накладных расходов на каждую передаваемую строку.

2
ответ дан 1 December 2019 в 00:33
поделиться

Я бы посоветовал использовать JSON, если вам нужно манипулировать полученными данными (например, посредством вызова Ajax в вашем браузере) с помощью кода JavaScript. В таком случае JSON очень удобен, поскольку вы можете напрямую загрузить его в свой JavaScript и использовать его (следовательно, Java Script Object Notation => JSON). Это называется десериализацией строки JSON в объектах JavaScript. Это можно сделать с помощью eval (), что, однако, - я читал - создает некоторые проблемы с безопасностью, поэтому следует использовать некоторый сериализатор JSON (де).

Как описано на странице , вы упомянули, что у вас есть строка JSON, такая как

{"bindings": [
        {"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},
        {"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},
        {"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}
    ]
}

, которая отправляется по сети, инициированная некоторым вызовом Ajax на клиенте, где затем вызывается обратный вызов, например (т. in .Net)

function onSuccess(result){
  var myObj = Sys.Serialization.JavaScriptSerializer.deserialize(result, false);
  myObj.bindings[0].ircEvent...
}

Преимущество заключается в простой (де) сериализации вместе при использовании JavaScript, в основном при веб-разработке с Ajax. В противном случае я бы не стал использовать JSON, а скорее полагался бы на XML, поскольку для настольных приложений существуют действительно мощные библиотеки синтаксического анализа.

2
ответ дан 1 December 2019 в 00:33
поделиться

Все остальные ответы хороши, но, возможно, самое простое объяснение для вашего конкретного случая (JavaScript + PHP): JSON - это самый простой способ преобразовать объект JavaScript в ассоциативный массив или объект (и наоборот) .

Взгляните на json_encode () и json_decode () для PHP-стороны. На стороне JavaScript простой eval () - это самый простой (но наименее безопасный!) Способ получить объект из строки JSON, но в вашей выбранной библиотеке обязательно будут функции, которые позаботятся об этом за вас, и если если вы ориентируетесь на новые браузеры, вы можете использовать объект JSON ECMAScript 5 .

2
ответ дан 1 December 2019 в 00:33
поделиться

JSON в основном используется как легкая и более удобочитаемая альтернатива XML в веб-приложениях AJAX.

1
ответ дан 1 December 2019 в 00:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: