五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

unity使用Newtonsoft.Json

2021-10-14 23:27 作者:柯昌弟弟c  | 我要投稿

一.在Unity中使用Newtonsoft.Json來生成和讀取json


首先要在項(xiàng)目中添加引用:Newtonsoft.Json.dll

然后在代碼中添加命名空間:using Newtonsoft.Json;

這里是Json序列化和反序列化的兩個(gè)方法

  1. 序列化:JsonConvert.SerializeObject(object value)

  2. 反序列化:JsonConvert.DeserializeObject(string value, Type type)

二.使用Newtonsoft.Json時(shí)須注意的一些細(xì)節(jié)

1.數(shù)據(jù)重復(fù)添加

如果數(shù)據(jù)存在泛型List或者Arrlist時(shí),序列化和反序列化之后會(huì)出現(xiàn)數(shù)據(jù)成倍的增加,最后造成內(nèi)存溢出。(數(shù)組在序列化時(shí)是沒有問題的)

遇到這個(gè)情況的時(shí)候也是排查了很久,終于找到了一個(gè)解決辦法,在含有泛型list和arrlist的構(gòu)造方法中添加一個(gè)參數(shù)(無實(shí)際用途),這樣就可以避免序列化List時(shí)數(shù)據(jù)成倍增加。

2.字段推薦封裝

說起這個(gè),是鐵子提出到一個(gè)很有趣的事情

鐵子:如果字段用private修飾使用屬性來訪問,那么在Json序列化的時(shí)候,數(shù)據(jù)不會(huì)存進(jìn)去。

(1)首先說一下c#中封裝的定義:

????????被定義為"把一個(gè)或多個(gè)項(xiàng)目封閉在一個(gè)物理的或者邏輯的包中"。在面向?qū)ο蟪绦蛟O(shè)計(jì)方法論中,封裝是為了防止對(duì)實(shí)現(xiàn)細(xì)節(jié)的訪問。

(2)封裝的意義

???????? 1、封裝數(shù)據(jù)屬性:明確的區(qū)分內(nèi)外,控制外部對(duì)隱藏的屬性的操作行為

?????????2、封裝方法:隔離復(fù)雜度

所以要好好使用封裝,養(yǎng)成良好的代碼習(xí)慣

3.字典中K值不可以是數(shù)值類型

在使用字典存儲(chǔ)時(shí),遇到一個(gè)錯(cuò)誤:寫一個(gè)字典,存入json文件。之后讀出判斷是否存在key。結(jié)果驚奇的發(fā)現(xiàn),同一個(gè)key居然存在兩次。

原因:json會(huì)將數(shù)值key轉(zhuǎn)換為unicode

結(jié)論:使用json時(shí)字典key不可以為數(shù)值類型



unity使用Newtonsoft.Json的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
大姚县| 乌苏市| 淄博市| 阿城市| 阿尔山市| 西平县| 彭泽县| 巍山| 张家口市| 凌云县| 张家川| 田东县| 龙川县| 阿城市| 吕梁市| 鄢陵县| 彝良县| 海口市| 柳江县| 读书| 寻甸| 泌阳县| 离岛区| 浑源县| 奉新县| 昌吉市| 桂平市| 武鸣县| 杭锦后旗| 海宁市| 万源市| 兴和县| 德州市| 云林县| 南陵县| 资兴市| 尼玛县| 安宁市| 囊谦县| 平谷区| 桦川县|