序列化和反序列化数组(不需要jquery?)

Serialize and de-serialize array (without jquery?)

本文关键字:jquery 不需要 反序列化 数组 序列化      更新时间:2023-09-26

我有一个发送ajax请求的方法。当收到来自服务器的应答时,我需要序列化,然后再反序列化

$.ajax({
//.....
done(function(data) {
//1 Need to serialize data (which is an array)

});
function myFunction() {
  //2 Need to de-serialize data which has been serialized
}

我知道我可以使用jquery#serializeArray(),如果我有一个表单序列化:

$( "form" ).submit(function( event ) {
  console.log( $( this ).serializeArray() );
  event.preventDefault();
});

但是我没有表单和来自服务器的数据(我猜)与jqueryserializeArray功能无关。那么我该怎么做呢?最好的方法之一是什么?

最好不要使用jquery以外的任何第三方库,甚至根本不要使用jquery。

将js对象序列化为JSON的常用方法是通过JSON.stringify()

另一种方式是通过JSON.parse()

o={"firstName":"john","lastName":"doe"};
console.log(JSON.stringify(o));
console.log(JSON.parse(JSON.stringify(o)));   

查看MDN中的stringify和parse

这是小提琴

jQuery中的

. serializearray()只是一个简洁的辅助函数,用于序列化表单数据。它从头开始构建它的对象。这是它的来源。如果您想将数据作为JSON提交,只需

$.ajax({
  type: "POST",
  url: url,
  data: JSON.stringify(data),
  success: success,
  dataType: dataType
});   

jQuery.post().