API

Reader:
TSharedRef< TJsonReader<> > Reader = TJsonReaderFactory<>::Create(JsonStr);
rRoot:
TSharedPtr rRoot;

字符串解析接口
bool bSuccess = FJsonSerializer::Deserialize(Reader, rRoot)

if(bSuccess)
{
	int32 value;
	//通过该接口 获取对应的key  int32 int64 double 值
	rRoot->TryGetNumberField(TEXT("key"), value)
	//该接口返回的是 double 类型的值
	double value =  FJsonObject::GetNumberField("key")

	//如果key对应的是 一个 TArray 
	const TArray<TSharedPtr<FJsonValue>>* list;
	rRoot->TryGetArrayField(TEXT("key"), list)
	//然后根据 list 中子项的实际情况在做解析
	(*list)[0]->AsObject() //转成 FJsonObject
	(*list)[0]->AsArray() //转成 TArray

	//如果key对应的是 一个 Json
	const TSharedPtr<FJsonObject>*& jsonObject
	rRoot->TryGetObjectField(TEXT("key"), jsonObject)
}
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐