【德华说插件开发】之Json序列化和反序列化(BOS设计器二开)原创
13人赞赏了该文章
1,066次浏览
编辑于2022年05月24日 10:53:19
我们在做插件开发的时候,经常会去调用第三方的接口,而数据传输一般都使用Json格式字符串(XML逐渐淘汰)。
那么今天德华来聊一聊在插件开发中,如何使用Json的序列化和反序列化。
什么是Json?
简单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在网络或者程序之间轻松地传递这个字符串,并在需要的时候将它还原为各编程语言所支持的数据格式。
我们看代码:
{ "name": "中国", "province": [ { "name": "黑龙江", "cities": { "city": ["哈尔滨", "大庆"] } }, { "name": "广东", "cities": { "city": ["广州", "深圳", "珠海"] } }, { "name": "台湾", "cities": { "city": ["台北", "高雄"] } }, { "name": "新疆", "cities": { "city": ["乌鲁木齐"] } } ] }
Json字符串
很多人搞不清楚 JSON 和 JS 对象的关系,甚至连谁是谁都不清楚。其实,可以这么理解:
JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串。
'{"a": "Hello", "b": "World"}'
也就是说,我们经常调用第三方接口传输的都是上述代码中的json格式字符串了。
Json对象
同样,Json可以转换为JavaScript的对象。然后直接用点.运算符去调用。
{a: 'Hello', b: 'World'}
什么是序列化?
序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。
Json序列化
Json序列化只是序列化技术中的一种而已。
例如json对象转换为json字符串:
{a: 'Hello', b: 'World'}
转换为
'{"a": "Hello", "b": "World"}'
这就是序列化:对象到字符串。
Json 反序列化
反序列化就是反过来:字符串到对象。:
'{"a": "Hello", "b": "World"}'
转换为
{a: 'Hello', b: 'World'}
C# 序列化和反序列化
'{"a": "Hello", "b": "World"}'
上述json字符串转换为如下test对象时,如何做呢?
public class Test{ public string a{get;set;} public string b{get;set;} } string jsonStr = '{"a": "Hello", "b": "World"}'; Test test = JsonConvert.DeserializeObject<Test>(jsonStr); //反序列化 jsonStr = JsonConvert.SerializeObject(test ); //序列化
小伙伴,如果有收获那动动你的小手关注、点赞、收藏3连!
赞 13
13人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!