最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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)遵守國家法律
怀集县| 潜山县| 望都县| 湖州市| 陆河县| 望谟县| 翁牛特旗| 名山县| 裕民县| 邢台县| 珠海市| 沙坪坝区| 保山市| 华亭县| 镇坪县| 措美县| 鹤庆县| 静海县| 庐江县| 建德市| 海安县| 巴彦县| 教育| 临城县| 林甸县| 邢台市| 乌拉特前旗| 新干县| 古交市| 怀仁县| 北宁市| 虎林市| 新乡县| 崇礼县| 邢台市| 嘉兴市| 平邑县| 南投县| 十堰市| 将乐县| 察雅县|