浅析JSON序列化与反序列化
publicclassPersonnel
{
publicintId{get;set;}
publicstringName{get;set;}
}
执行序列化反序列化:
protectedvoidPage_Load(objectsender,EventArgse)
{
Personnelpersonnel=newPersonnel();
personnel.Id=1;
personnel.Name="小白";
JavaScriptSerializerjsonSerializer=newJavaScriptSerializer();
//执行序列化
stringr1=jsonSerializer.Serialize(personnel);
//执行反序列化
Personnel_Personnel=jsonSerializer.Deserialize<Personnel>(r1);
}
r1输出结果:{"Id":1,"Name":"小白"}
可以使用ScriptIgnore属性标记不序列化公共属性或公共字段。
publicclassPersonnel
{
[ScriptIgnore]
publicintId{get;set;}
publicstringName{get;set;}
}
r1输出结果:{"Name":"小白"}
序列化类:People
publicclassPeople
{
publicintId{get;set;}
publicstringName{get;set;}
}
执行序列化反序列化
protectedvoidPage_Load(objectsender,EventArgse)
{
Peoplepeople=newPeople();
people.Id=1;
people.Name="小白";
DataContractJsonSerializerjson=newDataContractJsonSerializer(people.GetType());
stringszJson="";
//序列化
using(MemoryStreamstream=newMemoryStream())
{
json.WriteObject(stream,people);
szJson=Encoding.UTF8.GetString(stream.ToArray());
}
//反序列化
using(MemoryStreamms=newMemoryStream(Encoding.UTF8.GetBytes(szJson)))
{
DataContractJsonSerializerserializer=newDataContractJsonSerializer(typeof(People));
People_people=(People)serializer.ReadObject(ms);
}
}
szJson输出结果:{"Id":1,"Name":"小白"}
可以使用IgnoreDataMember:指定该成员不是数据协定的一部分且没有进行序列化,DataMember:定义序列化属性参数,使用DataMember属性标记字段必须使用DataContract标记类否则DataMember标记不起作用。
[DataContract]
publicclassPeople
{
[DataMember(Name="id")]
publicintId{get;set;}
[IgnoreDataMember]
publicstringName{get;set;}
}
输出结果:{"id":1}
相关文章
- json-server搭建mock服务
- Oracle和JSON的结合
- json查询解析在mysql5.7+有多方便?
- PHP json_encode float
- 把list转为JSON字符串
- JSON:JavaScript Object Notation
- Postgresql中JSON数据构造与操作符实例
- java字符串转换为json对象6_Json对象与Json字符串的转化、JSON字符串与Java对象的转换…
- 【ue4】包含基类指针成员变量的UOject与json文件互转
- Python 接口测试之Json数据文件操作
- MySQL Error number: 3980; Symbol: ER_INVALID_JSON_ATTRIBUTE; SQLSTATE: HY000 报错 故障修复 远程处理
- 使用Redis获取数据转json,解决动态泛型传参的问题
- python使用pickle,marshal进行序列化、反序列及JSON的使用详解编程语言
- C#应用Newtonsoft.Json操作json详解编程语言
- MySQL生成JSON:一种实现方式(mysql生成json)
- C#应用Newtonsoft.Json操作json[2]-反序列化不定类型详解编程语言
- MySQL转JSON:实现高效数据转换(mysql转json)
- 利用Redis轻松存储JSON数据(redis存储json)
- 把JSON 格式数据存入MySQL(mysql存入json)
- MySQL中JSON查询的方法和实践(mysql中json查询)
- 破解Oracle数据库之路从JSON到Oracle的导入(json导入oracle)
- Oracle数据库Json功能把数据变得更简单(oracle json6)
- 让Json更懂中文(JSON_UNESCAPED_UNICODE)
- json数据处理技巧(字段带空格、增加字段、排序等等)
- JSON中双引号的轮回使用过程中一定要小心
- 通过Jquery的Ajax方法读取将table转换为Json