хмм.. с JSON я пока не работал серьезно.. его еще хостеры не поддерживают, а парсить через php-библиотеку PEAR не очень хочется, когда есть бинарная. Но, в принципе, это мало отличается от использования XML:
Код
код для JS
---
var obj = {"param1" : "value1", "param2" : "value2"};
// подготовка запроса
request = JSON.stringify(obj);
// обработка ответа сервера
var routine = function(response) {
response = JSON.parse(response);
/*
быстрее response = eval('(' + response + ')');
но рекомендуют из соображений безопасности воспользоваться парсером из объекта JSON
*/
alert("param3 = " + response.param3 + "\nparam4 = " + response.param4);
}
// внимание, это моя функция, а не стандартаня
xmlHttpRequest(url, routine, request);
---
код для php
---
$request = file_get_contents('php://input', 1000000);
// декодируем запрос, функция находится в библиотеке json.dll
$request = json_decode($request);
/*
получаем объект:
$request->param1 = "value1"; $request->param2 = "value2";
*/
$response = array("param3" => "value3", "param4" => "value4");
header("Cache-control: no-cache);
header("Content-type: text/plain");
echo $response;
---
Из библиотек: разумеется, тебе понадобится как конвертер , так и парсер. Конвертером ты подготавливаешь данные для отправки js-скрипту, парсером ты принимаешь входные данные от js-скрипта. Также понадобистя js-бибилотека json.js.
Apache::JSONRPC mod_perl-based JSON-RPC server 1 -- вроде это апачевский модуль для perl, бинарная библиотека (должна быстрее работать, чем все другие).
JSON parse and convert to JSON (JavaScript Object Notation). 1.03, JSON::Converter 1.06, JSON::Parser 1, JSONRPC Perl implementation of JSON-RPC protocol 0.99 -- вроде perl библиотеки