请教model序列化/反序列化的问题

问题描述

一个Model[Serializable]publicclassActLog{privateint_logid=0;privatestring_logcontent="";privateint_userid=0;privatestring_usertype="";privateDateTime_addtime=DateTime.Now;publicintlogid{get{return_logid;}set{_logid=value;}}publicstringlogcontent{get{return_logcontent;}set{_logcontent=value;}}publicintuserid{get{return_userid;}set{_userid=value;}}publicstringusertype{get{return_usertype;}set{_usertype=value;}}publicDateTimeaddtime{get{return_addtime;}set{_addtime=value;}}}

用以下代码操作时出错publicstringtest(stringjsondata){Model.ActLoguserInfo=JSON.parse<Model.ActLog>(jsondata);//logmodeluserInfo=JSON.parse<logmodel>(jsondata);returnuserInfo.logcontent;}

JSON.parse方法是:publicstaticTparse<T>(stringjsonString){Tresult;using(System.IO.MemoryStreammemoryStream=newSystem.IO.MemoryStream(System.Text.Encoding.UTF8.GetBytes(jsonString))){result=(T)((object)newDataContractJsonSerializer(typeof(T)).ReadObject(memoryStream));}returnresult;}

出错提示为:提交的测试数据是a_user.a_UserSoapClienta1=newa_user.a_UserSoapClient();stringjson="{";json=json+""logid":"0"";json=json+","logcontent":""+TextBox1.Text+""";json=json+","userid":"1"";json=json+","usertype":"用户类型"";//json=json+","addtime":"2014-12-1200:00:00"";json=json+"}";Response.Write(a1.test(json));

==========================请教这要如何解决?另外,如果我把Model改下以下形式,则正常执行:publicclassActLog{publicintlogid{get;set;}publicstringlogcontent{get;set;}publicintuserid{get;set;}publicstringusertype{get;set;}publicDateTimeaddtime{get;set;}}

这又是为什么?

解决方案

解决方案二:
你先反过来试下上面的用一个model去序列化为字符串呢,看字段有没有被序列化
解决方案三:
试试Model.ActLoguserInfo=fastCSharp.emit.jsonParser.Parse<Model.ActLog>(jsondata);

解决方案四:
首先推荐微软mvc都使用的类库:Newtonsoft.Json.5.0.6当然这是次要的主要的是stringjson="{";json=json+""logid":"0"";json=json+","logcontent":""+TextBox1.Text+""";json=json+","userid":"1"";json=json+","usertype":"用户类型"";//json=json+","addtime":"2014-12-你这些最好不要自己拼接自己定义一个类序列化成json好过自己拼接

时间: 2024-09-19 09:46:04

请教model序列化/反序列化的问题的相关文章

c#4 0-C# 请教XML序列化时,内存错误问题如何解决

问题描述 C# 请教XML序列化时,内存错误问题如何解决 环境C#4.5 E5 16G内存 代码: try { CommonHelper.CGCollect(); string xml = XmlHelper.XmlSerialize(listKeyWords, Encoding.Default); Mutex m = new Mutex(); if (!string.IsNullOrEmpty(xml)) { DocHelper.writeXC(xml, string.Format("{0}{

一个更好的C++序列化/反序列化库Kapok

1.Kapok的特点 简单,易用,header-only,只需要引用Kapok.hpp即可:高效,初步测试性和messagepack相当. 它是纯c++11实现,因此需要支持C++11的编译器. 2.主要功能 对对象进行自动化的序列化和反序列化,用起来非常简单,先来看个序列化/反序列化一个tuple的例子吧. //序列化  Serializer sr;  auto tp = std::make_tuple(10, 12, string("test"));  sr.Serialize(t

php json与xml序列化/反序列化_php技巧

在web开发中对象的序列化与反序列化经常使用,比较主流的有json格式与xml格式的序列化与反序列化,今天想写个jsop的小demo,结果发现不会使用php序列化,查了一下资料,做个笔记简单数组json格式序列化/反序列化 php提供了json_encode和json_decode函数对对象进行json格式序列化/反序列化操作 $data=array('Name'=>'Byron','Age'=>24,'Sex'=>'Male','Friends'=>array('Casper',

js中Serializer序列化/反序列化DateTime少了8小时解决方法

先看一个栗子: JavascriptSerializer serializer = new JavascriptSerializer(); DateTime now = DateTime.Parse("2015-01-23 00:00:00"); Console.WriteLine(serializer.Deserialize<DateTime>(serializer.Serialize(now))); 如上图所示,反序列化后的时间比原先少了8个小时,是什么原因造成的?用I

对象序列化反序列化例子

using System; using System.IO; using System.Xml.Serialization; [Serializable] public class Model { public string Name{get;set;} public string Possword{get;set;} public override string ToString() { return "Name:"+ Name+"possword:"+Possw

【转载】JAVA序列化/反序列化与单例

本文转载自http://shift-alt-ctrl.iteye.com/blog/1842040   单例设计类:   Java代码   package com.test.singleton;      import java.io.IOException;   import java.io.ObjectStreamException;   import java.io.Serializable;         public class SingleTon implements Serial

详解PHP序列化反序列化的方法_php技巧

经常看到一些配置文件里面存放的是一些类似带有格式的变量名称和值,其实就是一个序列化的过程,在需要用到这些数据库的时候会进行一个反序列化过程,就是将这个字符串再还原成他原来的数据结构.下面说说php 如何进行数据的序列化和反序列化的. php 将数据序列化和反序列化其实就用到两个函数,serialize 和unserialize.serialize 将数组格式化成有序的字符串unserialize 将数组还原成数组例如: $user=array('Moe','Larry','Curly'); $u

PHP多种序列化/反序列化的方法

序列化是将变量转换为可保存或传输的字符串的过程:反序列化就是在适当的时候把这个字符串再转化成原来的变量使用.这两个过程结合起来,可以轻松地存储和传输数据,使程序更具维护性. 1. serialize和unserialize函数 这两个是序列化和反序列化PHP中数据的常用函数. <?php   $a = array('a' => 'Apple' ,'b' => 'banana' , 'c' => 'Coconut');   //序列化数组   $s = serialize($a);

请教XmlSerializer序列化XML文件的问题

问题描述 请教以下的XML文件使用Xml.Serialization如何序列化,<?xmlversion="1.0"encoding="utf-8"?><shoppingListxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:xsd="http://www.w3.org/2001/XMLSchema"><itemname=&qu