序列化、持久化、串行化

JSON

  JSON.stringify(json)   -> 普通json变成标准json版字符串

    JSON.parse(str) ->  把字符串变成json

兼容:IE8+ chrome FF

数据格式            安全          兼容

parse              必须标准      安全        不兼容

eval                 随便         不安全       兼容

序列化兼容:

   json2str();

function json2str(json){
   if(window.JSON){
      return JSON.stringify(json);
   }else{
      var arr=[];
      for(var name in json){
         arr.push(‘"‘+name+‘":‘+json[name]);
      }
      return ‘{‘+arr.join(‘,‘)+‘}‘; 
   }
}

str2json();

function str2json(str){
   if(window.JSON){
      return JSON.parse(str);
   }else{
      return eval(‘(‘+str+‘)‘); 
   }
}

时间: 2024-10-28 23:12:12

序列化、持久化、串行化的相关文章

对象的序列化(串行化)分析(一)

对象的序列化(串行化)序列化概念:(1)对象的寿命通常随着生成该对象的程序的终止而终止.有时候,可能需要将对象的状态保存下 来,在需要时再将对象恢复.我们把对象的这种能记录自己的状态以便将来再生的能力.叫作对象的持续性(persistence).对象通过写出描述自己状 态的数值来记录自己 ,这个过程叫对象的串行化(Serialization-连续) .(2)一个对象随着创建而存在,随着程序结束而结束.那 如果我要保存一个对象的状态呢?Java序列化能够将对象的状态写入byte流存储起来,也从其他

PHP中的抽象类与抽象方法/静态属性和静态方法/PHP中的单利模式(单态模式)/串行化与反串行化(序列化与反序列化)/约束类型/魔术方法小结

  前  言  OOP  学习了好久的PHP,今天来总结一下PHP中的抽象类与抽象方法/静态属性和静态方法/PHP中的单利模式(单态模式)/串行化与反串行化(序列化与反序列化). 1  PHP中的抽象类与抽象方法 1.什么是抽象方法?              没有方法体 {} 的方法,必须使用abstract 关键字修饰.这样的方,我们叫做抽象方法.                    abstract function say(); //    抽象方法 2.什么是抽象类?        

.Net里的哈希表和串行化

.Net里的哈希表和串行化 介绍 本文介绍了,在.net里,使用哈希表和串行化的C#用法.这里使用的示例应用程序是一个电话簿.电话簿应用程序,是一个控制台的程序.它允许你添加,查看,列出和删除它里面的姓名和电话号码. 哈系表是"键-值"对的集合.在.net里,类Hashtable是哈希表的实现.通过调用Add方法,传递你想添加的键值对,可以完成添加.作为键来使用的这些对象,必须实现Object.Equals 和Object.GetHashCode方法. private Hashtabl

IT十八掌作业_java基础第十五天_IO串行化/深度复制

1.使用RandomAccessFile实现文件合成. 2.使用java中的串行化技术实现对象图(100只猫Cat集合,但是Cat的owner不需要串行化)的深度复制. 3.阐述串行化的过程,应用场景,串行ID的用途. 1. package com.it18zhang; /** * 将分割的文件进行合成 */ import java.io.File; import java.io.FileInputStream; import java.io.RandomAccessFile; public c

Java基础第十五天_IO串行化/深度复制

1.使用RandomAccessFile实现文件切割. 答: package app_作业; import java.io.File; import java.io.FileOutputStream; import java.io.RandomAccessFile; public class app15_使用RandomAccessFile实现文件切割 { public static void main(String[] args) throws Exception { // 源文件 File 

对象串行化

当调用对象的程序执行结束以后,对象就随之消亡.但是,有时希望将对象的状态记录下来,以便于恢复,这个过程,就叫做对象串行化. 要理解对象串行化,就需要了解两个关键字Serializable和transient.一个对象,要能够串行化,就必须实现Serializable接口.而transient则表明,某个属性不属于串行化的一部分. 如下代码,是一个串行化的示例.将Test中的username串行化到硬盘,而password则否.然后,再用ObjectInputStream将对象从硬盘中读取并恢复,

JavaEE 对象的串行化(Serialization)

什么情况下需要序列化 a)当你想把的内存中的对象写入到硬盘的时候:b)当你想用套接字在网络上传送对象的时候:c)当你想通过RMI传输对象的时候:再稍微解释一下:a)比如说你的内存不够用了,那计算机就要将内存里面的一部分对象暂时的保存到硬盘中,等到要用的时候再读入到内存中,硬盘的那部分存储空间就是所谓的虚拟内存.在比如过你要将某个特定的对象保存到文件中,我隔几天在把它拿出来用,那么这时候就要实现Serializable接口:b)在进行java的Socket编程的时候,你有时候可能要传输某一类的对象

数据库管理(事务、ACID、并发、封锁、可串行化、隔离)(转)

1.数据库事务 1.1 数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作. 1.2 事务的4个特性(ACID): (1)原子性(atomic)(atomicity)事务必须是原子工作单元:对于其数据修改,要么全都执行,要么全都不执行.通常,与某个事务关联的操作具有共同的目标,并且是相互依赖的.原子性消除了系统处理操作子集的可能性. (2)一致性(consistent)(consistency)事务在完成时,必须使所有的数据都保持一致状态.事务结束

php面向对象之把对象串行化

有时候需要把一个对象在网络上传输,为了方便传输,可以把整个对象转化为二进制串,等到达另一端时,再还原为原来的对象,这个过程称之为串行化(也叫序列化). 有两种情况我们必须把对象串行化: 第一种情况就是把一个对象在网络中传输的时候要将对象串行化: 第二种情况就是把对象写入文件或是数据库的时候用到串行化. 串行化有两个过程,一个是串行化,就是把对象转化为二进制的字符串,我们使用serialize()函数来串行化一个对象,另一个是反串行化,就是把对象转化的二进制字符串再转化为对象, 我们使用unser

【PHP面向对象(OOP)编程入门教程】22.把对象串行化serialize()方法,__sleep()方法,__wakeup()方法

有时候需要把一个对象在网络上传输,为了方便传输,可以把整个对象转化为二进制串,等到达另一端时,再还原为原来的对象,这个过程称之为串行化(也叫序列化), 就像我们现在想把一辆汽车通过轮船运到美国去,因为汽车的体积比较大,我们可以把汽车拆开成小的部件,然后我们把这些部件通过轮般运到美国去,到了美国再把这些部件组装回汽车. 有两种情况我们必须把对象串行化,第一种情况就是把一个对象在网络中传输的时候要将对象串行化,第二种情况就是把对象写入文件或是数据库的时候用到串行化. 串行化有两个过程,一个是串行化,