UE4的JSON读写方式二
声明:所有权利保留。
转载必须说明出处:http://blog.csdn.net/cartzhang/article/details/43794409
UE4 的json读写方式
一、UE4的Json解析代码
有网友说UE4的解析有问题,解析出错。个人觉得应该是Json格式有问题。或解析的对象不正确,对象或数组用来对应的解析方式来解析的。
解析方式有两种:类名为:FJsonSerializer,头文件名称为JsonSerializer.h
template <class CharType>static bool Deserialize( const TSharedRef< TJsonReader<CharType> >& Reader, TArray< TSharedPtr<FJsonValue> >& OutArray ){StackState State;if ( !Deserialize( Reader, /*OUT*/State ) ){return false;}if ( State.Object.IsValid() ){return false;}OutArray = State.Array;return true;}template <class CharType>static bool Deserialize( const TSharedRef< TJsonReader<CharType> >& Reader, TSharedPtr<FJsonObject>& OutObject ){StackState State;if ( !Deserialize( Reader, /*OUT*/State ) ){return false;}if ( !State.Object.IsValid() ){return false;}OutObject = State.Object;return true;}
可以看出,第一个是针对数组的,第二个是针对Json对象的。请注意分别。
二、样例代码
void ATestPhysics1Character::JsonDeserialize()
{FString JsonValue = "[{\"author\":\"4446545646544\"},{\"name\":\"jack\"}]";FString JsonStr;TArray<TSharedPtr<FJsonValue>> JsonParsed;TSharedRef< TJsonReader<TCHAR> > JsonReader = TJsonReaderFactory<TCHAR>::Create(JsonValue); bool BFlag = FJsonSerializer::Deserialize(JsonReader, JsonParsed);if (BFlag){int ArrayNumber = JsonParsed.Num();if (ArrayNumber == 2){FString FStringAuthor = JsonParsed[0]->AsObject()->GetStringField("author");if (GEngine){FString TmpString = "author :" + FStringAuthor;GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, TmpString);}FString FStringName = JsonParsed[1]->AsObject()->GetStringField("name");if (GEngine){FString TmpString = "name :" + FStringName;GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, TmpString);}}}
}
代码不严谨,但是是个样子。
三、结果截图
================
若有问题,请随时联系!
感谢浏览!
转载于:https://www.cnblogs.com/qitian1/p/6461965.html
UE4的JSON读写方式二相关推荐
- python打开json文件变为字典_Python json读写方式和字典相互转化
在Python中,json指的是符合json语法格式的字符串,可以单行或者多行. 它可以方便的在使用在多种语言中,这里介绍的是在python中的字典(dict)与json字符串相互转化的方式. 1. ...
- python读取json数据格式问题_浅谈Python中的异常和JSON读写数据的实现
异常可以防止出现一些不友好的信息返回给用户,有助于提升程序的可用性,在java中通过try ... catch ... finally来处理异常,在Python中通过try ... except .. ...
- python读取文件报错必须有一个正确的读写方式_python文件操作
第一步 排除文件打开方式错误: r只读,r+读写,不创建 w新建只写,w+新建读写,二者都会将文件内容清零 (以w方式打开,不能读出.w+可读写) w+与r+区别: r+:可读可写,若文件不存在,报错 ...
- Python文件的多种读写方式及游标
一:文件的多种读写方式 主方式:w r a 从方式:t b + 了解方式:x u 1.按t(按照字符进行操作): with open("data_1.txt","wt&q ...
- 瀑布流方式三(方式二的升级版)
此版本,是方式二的升级版,一,将全局变量封装到函数内,二,添加滚轮,可以持续取数据 url文件 from django.contrib import admin from django.urls im ...
- Json系列之二 json to bean(JSONObject类详解)
方式一/*** Creates a JSONDynaBean from a JSONObject.*/public static Object toBean( JSONObject jsonObjec ...
- java 微信 百度地图_[Java教程]H5微信通过百度地图API实现导航方式二
[Java教程]H5微信通过百度地图API实现导航方式二 0 2017-08-01 23:53:20 要有服务器才行哦 body, html {width: 100%;height: 100%;mar ...
- Json解析方式(学习笔记)
Json解析方式 前言 一.Json是什么? 简介 示例 Java与Json 二.Json解析方式 2.1 Gson 将对象转换为JSON字符串 将JSON字符串转换为对象 2.2 FastJson ...
- java中的json_JAVA中的四种JSON解析方式详解
JAVA中的四种JSON解析方式详解 我们在日常开发中少不了和JSON数据打交道,那么我们来看看JAVA中常用的JSON解析方式. 1.JSON官方 脱离框架使用 2.GSON 3.FastJSON ...
最新文章
- 【12c新特性】12c中如何自动启动PDB Pluggable Database
- pmp每日三题(2022年3月14日)
- 计算机基础- -计算机为什么要使用二进制
- 在ump系统的那半个多月-jqGrid
- YBTOJ洛谷P3231:消毒(二分图匹配)
- python学多久能写东西的软件有哪些_怎么自学python,大概要多久?
- 【C++深度剖析教程18】逗号操作符的分析
- Visual Studio 20xx试用版升级为正式版(WIN7同样有效)图解、附带序列号
- python后端和爬虫_10分钟教你Python爬虫(上)-- HTML和爬虫基础
- Dubbo服务导出原理
- NO3 cat-xargs-cp-mv-rm-find命令
- 河北农业大学计算机科学分数线,河北农业大学现代科技学院计算机科学与技术专业2016年在河北理科高考录取最低分数线...
- apache 负载均衡
- 基于人体姿态识别的AI健身系统(浅谈
- Win10内置应用误卸载恢复方法
- Growing Mushrooms
- vant中的swipe
- 华为全球发布六款全场景新品;西门子加速在华发展数字化创新 | 美通企业日报...
- PTA-C理论B类题库6-3使用函数求最大公约数(辗转相除法的实现)
- 【前端-Js基础方法】字符串常用方法汇总
热门文章
- 深入理解Spark RDD——RDD实现的初次分析
- JSP标签c:forEach实例
- 英国物理学家冷嘲中微子超光速发现
- 两行Python代码 新建一个txt文件并写入
- 百度股市通日k数据接口
- python——小例子 及 end=““ 和“t“的用法
- GO/KEGG富集分析泡泡图中为什么基因的数目是小数?
- pyechart中15种中国地图,世界地图可视化代码模板, 最适合放在ppt中
- java学习第八天继承,抽象类,接口
- python 绘制ROC曲线