Как сериализовать массив в JQuery с той же схемой PHP?
способ сериализации массива в PHP
$value = array(array('Nombre','Adam'),array('Nombre','Exael'));
echo serialize($value);
/*a:2:{i:0;a:2:{i:0;s:6:"Nombre";i:1;s:4:"Adam";}i:1;a:2:{i:0;s:6:"Nombre";i:1;s:5:"Exael";}} */
теперь мне нужно сериализовать то же самое, но в Jquery
var values = [['Nombre','Adam'],['Nombre','Exael']];
?
1 answers
В javascript была создана пользовательская функция, которая сериализует массив так же, как serilaize
, и может быть десериализована с помощью unserilize
, но это не имеет большого смысла, потому что Javascript и php используют API, который служит для обмена структурированными данными (массивами, объектами или их комбинацией) под названием JSON.
JSON является acronimo JavaScript Object Notation и в настоящее время является наиболее часто используемым методом передачи данных во всех платформы, включая Javascript, PHP, Java, C#, Ptyhon и т. д. Почему это просто, он имеет относительно низкий накладной (по сравнению с XML или HTML, например), и все платформы поддерживают его.
Итак, в Javascript вы сериализуете с, JSON.stringify()
:
var estructura = [["a","b"],{ "c": "d"}];
console.log(
JSON.stringify(estructura)
)
Вы дезериализуете его с JSON.parse()
.
var json = '[["a","b"],{ "c": "d"}]';
console.log(
JSON.parse(json)
)
До сих пор все хорошо, результаты практически идентичны, но это происходит потому, что JSON
является родным для javascript.
В PHP у вас есть функции, json_decode
для десериализации и json_encode
для сериализации.
$value = json_decode('[["Nombre","Adam"],["Nombre","Exael"]]');
echo serialize($value);
/*a:2:{i:0;a:2:{i:0;s:6:"Nombre";i:1;s:4:"Adam";}i:1;a:2:{i:0;s:6:"Nombre";i:1;s:5:"Exael";}} */
$value2 = array(array('Nombre','Adam'),array('Nombre','Exael'));
var $json = json_encode($value2);
/*[["Nombre","Adam"],["Nombre","Exael"]]*/
По сути, эти методы позволяют обмениваться сложными структурами данных между javascript, php и многими другими технологиями.
Наконец, если вы знаете, что это REST API или REST Full API, эти API в подавляющем большинстве случаев основаны на формате JSON, по причинам, которые я объясняю вам выше.
Не беспокойтесь, что он не упоминает JQuery, потому что он основан на javascript и поддерживается и фактически использует JSON API браузера.
Salu2