欢迎光临散文网 会员登陆 & 注册

二十一.Json数据的读写

2023-05-04 16:41 作者:爱玩UE5的小哥哥  | 我要投稿

一.了解Json数据的格式

1.Json值

● 数字(整数或浮点数)

● 字符串(在双引号中)

● 逻辑值(true 或 false)

● 数组(在中括号中)

● 对象(在大括号中)

● null

2.常见的Json

格式: "键":值(key:value)

①最简单的Json数据对象

大括号 { } 保存对象


②Json对象作为value

③Json对象数组

中括号 [ ] 保存数组,数组可以包含多个对象

④Json对象数组作为value

二.UE5中通过JsonObject构造Json与序列化

1.构造

FJsonObject 在UE4里表示一个Json对象,用于存储Json数据 

①将Json模块导入UE项目名.Bulid.cs中

②声明(初始化)FJsonObject

蓝图与c++对比序列化Json对象

常见的数据类型作为值储存在JsonObject中(Jsonobject的构造)

④将Json对象作为值储存在JsonObject中(Jsonobject的构造)

⑤将Json对象数组作为储存在JsonObject中(Jsonobject的构造)

2.序列化JsonObject

格式为固定格式,只要改一下里面的JsonObject即可,在下面的代码指的是:RootJsonObject(Json对象)

注:TJsonWriterFactory是一个接受policy的模版,用于决定Json是如何被打印的。例如,"pretty"模式(易读的格式化),或者"condensed"模式(空白符都被去除掉)。他们对应的名字就是TCondensedJsonPrintPolicyTPrettyJsonPrintPolicy


.JsonObject获取数据的方式

1.判断是否拥有某个字段

2.TryGetXXXFiled

3.GetXXXFiled

GetNumberField(获取浮点型数值) return double,

GetBoolField(获取bool型数值) return bool ,

GetArrayField(获取FJsonValue数组作为数值) return TArray<TSharedPtr<FJsonValue>>,

GetObjectField(获取FJsonObject作为数值) return TSharedPtr<FJsonObject>.

说明:

使用TryGet和Get都可以用来获取数据,如果Json数据的字段是明确的,那么可以直接使用Get来获取.如果不确定,可以使用TryGet,根据需求选择即可 

四.使用JsonWrite实现Json的构造及序列化

五.解析Json(逆序列化)

序列化:字符串转Json;逆序列化:Json解析成字符串


二十一.Json数据的读写的评论 (共 条)

分享到微博请遵守国家法律