The invention is applicable to the computer field, provides a method for object object serialization, deserialization method, device and system, the object serialization method comprises the following steps: in order to obtain the object name attribute and attribute value; according to the property to obtain access to the value of the property belongs to the type of the value or the property to obtain serialization the value decomposition into basic types after serialization; according to the connection information of all connection attribute value and attribute the serialized serialized value after the corresponding attribute information including name decomposition. In the embodiment of the invention, in order to get the object through the attribute name and attribute values, and to obtain access to the attribute according to the attribute value belongs to the type of serialization values or access to the attribute value decomposition into basic types after serialization, completely avoid the attributes of a class can object for the increase reduce or modify the object deserialization failure, simple realization, high processing efficiency.
【技术实现步骤摘要】
本专利技术属于计算机领域,尤其涉及一种对象序列化方法、对象反序列化方法、对象序列化装置、对象反序列化装置及ERP系统。
技术介绍
现有的一种对象序列化方法是将对象整体序列化,然后保存到存储介质中 或输出, 一个对象序列化的结果对应一个序列化标识serialVersionUID,通过该 序列化标识唯一标识各个对象的序列化结果。在需要的时候,将存储或接收到 的序列化后的数据反序列化为对象。例如Person类的定义如下 public Class Person Implements Serializable { String name; String telephone; Address address;如果将Person类的一个对象personO序列化后,增力o、减少或修改了 Person 类的属性,或者改变了 Address类的属性,都将引起对象personO的序列化标识 serialVersionUID的变化,这样,再将原来序列化后的文件或数据进行反序列化 时,会产生错误、序列化失败。为了避免增加、减少或修改了类的属性后,由于该类对应的对象的序列化 标识产生变化而造成反序列化失败,在定义Person类的对象personO时,同时 显示的定义了对象personO的serialVersionUID值。这样,增加、减少或修改 Person类的属性就可以避免对象personO的serialVersionUID值的改变,不会对 反序列化操作带来错误。但是,要对所有涉及到的对象都显示定义对象的serialVersionUID值,才能完全避免由于对类的属性进行增加、减 ...
【技术保护点】
一种对象序列化方法,其特征在于,所述方法包括下述步骤: 依次获取对象的各属性名称及属性值; 根据获取到的属性值所属的类型序列化获取到的属性值或将获取到的属性值分解为基本类型后再序列化; 根据连接方式信息连接所有序列化后的属性值及各序列化后的属性值对应的包括分解信息的属性名称。
【技术特征摘要】
1、一种对象序列化方法,其特征在于,所述方法包括下述步骤依次获取对象的各属性名称及属性值;根据获取到的属性值所属的类型序列化获取到的属性值或将获取到的属性值分解为基本类型后再序列化;根据连接方式信息连接所有序列化后的属性值及各序列化后的属性值对应的包括分解信息的属性名称。2、 如权利要求l所述的方法,其特征在于,所述根据获取到的属性值所属 的类型序列化获取到的属性值或将获取到的属性值分解为基本类型后再序列化 的步骤具体包括如果获取到的属性值为基本类型,则序列化该属性值,将序列化后的属性 值和对应的包括分解信息的属性名称组成键值对;如果获取到的属性值为非基本类型,则循环分解该属性值的各属性,得到 为基本类型的子属性值及对应的包括分解信息的属性名称,再序列化得到的子 属性值,将序列化后的属性值和对应的包括分解信息的属性名称组成键:值对。3、 如权利要求l所述的方法,其特征在于,所述连接所有序列化后的属性 值及各序列化后的属性值对应的包括分解信息的属性名称的连接方式为字符连 接或序列化连接。4、 一种对象反序列化方法,其特征在于,所述方法包括下述步骤 根据连接方式信息拆分接收到的序列化数据,得到序列化后的属性值及对应的包括分解信息的属性名称;才艮据对象属性信息生成各属性值均为空的反序列化对象;根据对象属性信息和得到的序列化后的属性值及对应的包括分解信息的属性名称,给生成的反序列化对象的相应属性值赋值。5 、 如权利要求4所述的方法,其特征在于,得到的所述序列化后的属性值 及对应的包括分解信息的属性名称组成4建值对。6、 如权利要求5所述的方法,其特征在于,所述根据对象属性信息和得到 的序列化后的属性值及对应的包括分解信息的属性名称,给生成的反序列化对 象的相应属性值赋值的步骤具体包括根据对象属性信息依次获取生成的反序列化对象包括的各属性名称及对应 的属性值类型;如果获取到的属性值类型为基本类型,则根据获取到的属性名称在拆分得 到的键值对中查找到对应的序列化后的属性值,将查找到的序列化后的属性值 反序列化后赋予反序列化对象的相应属性值;如果获取到的属性值类型为非基本类型,则根据对象属性信息、获取到的 属性名称和拆分得到的键:值对生成属性值对象,将生成的属性值对象赋予M 列化对象的相应属性值。7、 如权利要求6所述的方法,其特征在于,所述根据对象属性信息、获取 到的属性名称和拆分得到的4建值对生成属性值对象的步骤具体包括根据对象属性信息和获取到的属性名称生成各子属性值均为空的属性值对象;根据对象属性信息依次获取生成的属性值对象包括的各子属性名称及对应 的子属性值类型;如果获取到的子属性值类型为基本类型,则根据获取到的子属性名称及对 应的所有上级属性名称在拆分得到的键值对中查找到对应的序列化后的属性 值,将查找到的序列化后的属性值反序列化后赋予该属性值对象的相应属性值;如果获取到的子属性值类型为非基本类型,则根据...
【专利技术属性】
技术研发人员:曹澜,
申请(专利权)人:金蝶软件中国有限公司,
类型:发明
国别省市:94[中国|深圳]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。