UE4的JSON读写方式<二>
来源:互联网 发布:淘宝交易额 英文 编辑:程序博客网 时间:2024/04/30 02:11
声明:所有权利保留。
转载必须说明出处:http://blog.csdn.net/cartzhang/article/details/43794409
Json的Writer博客地址:
http://blog.csdn.net/cartzhang/article/details/41009343 UE4的Json读写方式<一>
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对象的。请注意分别。
二、样例代码
CPP中包含头文件#include "Json.h"。
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);}}}}
代码不严谨,但是是个样子。
三、结果截图
================
若有问题,请随时联系!
感谢浏览!
0 0
- UE4的JSON读写方式<二>
- UE4的JSON读写方式<一>
- UE4-XML与JSon的简单读写实现
- json之java方式的读写
- android中的json二之json的读写
- UE4 序列化,反序列化,读写 Json
- UE4--多线程的实现方式
- JSON(二)---常用的处理方式
- 格格她爹讲程序---用传统程序员的方式玩UE4(二)
- Spark读写Hbase的二种方式对比
- Spark读写Hbase的二种方式对比
- UE4中资源加载资源的方式
- UE4-静态加载蓝图类的方式
- [学习笔记]UE4--多线程的实现方式
- UE4 C++ 日志输出的一种方式
- UE4中资源加载资源的方式
- UE4:文件读写
- ue4-读写配置文件
- IOS开发之UIView总结
- Apple移动设备处理器指令集 armv6、armv7、armv7s及arm64
- iOS- 详解文本属性Attributes
- (搬运工)推荐!国外程序员整理的 C++ 资源大全
- shell 如何实现i++操作以及字符串截取操作
- UE4的JSON读写方式<二>
- 杭电_hdu_2037_今年暑假不AC
- 切面条
- zookeeper适用场景:zookeeper解决了哪些问题
- linux 分区图文详解
- linux fb设备(pandaboard)
- hiho #1080 : 更为复杂的买卖房屋姿势 线段树区间更新
- css命名规则:图片切图转网页的代码规范
- android 源码问题解答(异常处理)