当前位置: 首页 > wzjs >正文

怎样做网站优化 知乎商业计划的网站建设费用

怎样做网站优化 知乎,商业计划的网站建设费用,深圳网站建设公司有哪些内容,货运 东莞网站建设目录 方式一(不推荐) 方式二(推荐) 一、生成普通Json对象 二、对象嵌套对象 三、对象嵌套数组 四、对象嵌套数组再嵌套对象 方式一(不推荐) 如下代码实现了把JSON字符串保存到文件中 #include &qu…

目录

方式一(不推荐)

方式二(推荐)

一、生成普通Json对象 

二、对象嵌套对象

三、对象嵌套数组

四、对象嵌套数组再嵌套对象


方式一(不推荐)

如下代码实现了把JSON字符串保存到文件中

#include "Misc/FileHelper.h"void ASampleJson::NotGoodJson()
{struct TempMessageInfo {int32 UECode = -1;FString UEMessage = TEXT("");FString UEData = TEXT("");FString UESid = TEXT("");};TempMessageInfo MyTempInfo;MyTempInfo.UECode = 998;MyTempInfo.UEMessage = TEXT("test");MyTempInfo.UEData = TEXT("123456");MyTempInfo.UESid = TEXT("11111");FString NotGoodJson = FString::Printf(TEXT("{\"Code\":%d,\"Message\":\"%s\",\"Data\":\"%s\",\"Sid\":\"%s\"}"), MyTempInfo.UECode, *MyTempInfo.UEMessage, *MyTempInfo.UEData, *MyTempInfo.UESid);FString FilePath = FPaths::ProjectSavedDir() / TEXT("NoGoodJson.json");FFileHelper::SaveStringToFile(NotGoodJson, *FilePath, FFileHelper::EEncodingOptions::ForceUTF8WithoutBOM);
}

方式二(推荐)

一、生成普通Json对象 

使用引擎自带的“Json”、“JsonUtilities”模块。

1. 打开“xx.Build.cs”,添加“Json”、“JsonUtilities”模块

2. 新建一个actor,这里命名为“SampleJson”,然后定义蓝图可调用的函数,这里命名为“GoodJson”

引入与 JSON 处理相关的头文件,其中:

  1. #include "Policies/CondensedJsonPrintPolicy.h":、包含了FCondensedJsonPrintPolicy,该策略用于以紧凑格式打印 JSON 数据,也就是去掉不必要的空格和换行符,使 JSON 字符串更为精简。
  2. #include "Serialization/JsonWriter.h":包含了用于将 JSON 对象序列化为字符串的FJsonWriter类。你能够用它把FJsonObject转化为 JSON 字符串。
  3. #include "Serialization/JsonReader.h":包含了用于将 JSON 字符串反序列化为 JSON 对象的FJsonReader类。你可以用它把 JSON 字符串解析成FJsonObject
  4. #include "JsonObjectConverter.h":提供了一系列工具函数,可用于在 UEC++ 结构体和 JSON 对象之间进行转换。

 实现函数“GoodJson”如下,该函数构建了一个 JSON 字符串,再把它保存到项目的 Saved 目录下名为 GoodJson.json 文件里

3. 创建父类为“SampleJson”的蓝图类,这里命名为“BP_SampleJson”,然后在Event BeginPlay中调用函数“GoodJson”

4. 运行后可以看到JSON字符串成功保存为JSON文件

二、对象嵌套对象

如果希望在Json中嵌套Json,可以在生成的 JSON 数据里创建一个名为 "Server" 的嵌套对象,并且把相关信息写入这个对象。

最后生成的JSON文件内容如下

三、对象嵌套数组

首先定义一个数组,然后为数组赋值

将数组元素依次添加到JSON嵌套的数组中

生成后的文件内容如下,可以看到成功添加了JSON数组

四、对象嵌套数组再嵌套对象

在第三步中已经创建了一个数组,现在准备在该数组中继续嵌套对象,代码如下:

文件存储结果如下:

完整代码:

// Fill out your copyright notice in the Description page of Project Settings.#include "Json/SampleJson.h"
#include "Misc/FileHelper.h"#include "Policies/CondensedJsonPrintPolicy.h"
#include "Serialization/JsonWriter.h"
#include "Serialization/JsonReader.h"
#include "JsonObjectConverter.h"// Sets default values
ASampleJson::ASampleJson()
{// Set this actor to call Tick() every frame.  You can turn this off to improve performance if you don't need it.PrimaryActorTick.bCanEverTick = true;}void ASampleJson::GoodJson()
{FString GoodJsonString = TEXT("");TSharedRef<TJsonWriter<TCHAR, TCondensedJsonPrintPolicy<TCHAR>>> GoodJsonWriter = TJsonWriterFactory<TCHAR, TCondensedJsonPrintPolicy<TCHAR>>::Create(&GoodJsonString);TArray<int32> WorkerIDs;WorkerIDs.Add(1);WorkerIDs.Add(2);WorkerIDs.Add(3);GoodJsonWriter->WriteObjectStart();GoodJsonWriter->WriteValue(TEXT("Code"), 998);GoodJsonWriter->WriteValue(TEXT("Message"), TEXT("Test"));GoodJsonWriter->WriteValue(TEXT("Data"), TEXT("123456"));GoodJsonWriter->WriteValue(TEXT("Sid"), TEXT("11111"));{GoodJsonWriter->WriteObjectStart(TEXT("Server"));GoodJsonWriter->WriteValue(TEXT("ServerName"), TEXT("ZhiChao"));GoodJsonWriter->WriteValue(TEXT("ServerVersion"), TEXT("V1.0"));GoodJsonWriter->WriteObjectEnd();}{GoodJsonWriter->WriteArrayStart(TEXT("MyArray"));for (auto& TmpID : WorkerIDs){GoodJsonWriter->WriteValue(TmpID);}GoodJsonWriter->WriteArrayEnd();}{GoodJsonWriter->WriteArrayStart(TEXT("Workers"));for (auto& TmpID : WorkerIDs){GoodJsonWriter->WriteObjectStart();GoodJsonWriter->WriteValue(TEXT("ID"), TmpID);GoodJsonWriter->WriteValue(TEXT("Name"), TEXT("Zhichao"));GoodJsonWriter->WriteValue(TEXT("Age"), 18);GoodJsonWriter->WriteObjectEnd();}GoodJsonWriter->WriteArrayEnd();}GoodJsonWriter->WriteObjectEnd();GoodJsonWriter->Close();FString FilePath = FPaths::ProjectSavedDir() / TEXT("GoodJson.json");if (FFileHelper::SaveStringToFile(GoodJsonString, *FilePath, FFileHelper::EEncodingOptions::ForceUTF8WithoutBOM)){UE_LOG(LogTemp, Warning, TEXT("JSON 文件保存成功: %s"), *FilePath);}else{UE_LOG(LogTemp, Error, TEXT("JSON 文件保存失败: %s"), *FilePath);}
}// Called when the game starts or when spawned
void ASampleJson::BeginPlay()
{Super::BeginPlay();}// Called every frame
void ASampleJson::Tick(float DeltaTime)
{Super::Tick(DeltaTime);}
http://www.dtcms.com/wzjs/824964.html

相关文章:

  • 汕头市企业网站建设哪家好网站建设维护工作职责
  • 做网站的而程序wordpress仿小菜淘宝客插件
  • 全国免费发布信息网站大全立方米网站建设
  • wap php网站源码汕头网站专业制作
  • 商务网站的功能做网站用什么字体最明显
  • 个人网站如何制作教程无实体店营业执照申请
  • 国内自助建站网站团队人数
  • 我想做一个网站怎么办陕西民盛建设有限公司网站
  • 做黑彩网站能赚钱吗濮阳新闻
  • 网站建设这个工作怎么样住房和建设部网站首页
  • 昆山建设监察大队网站各类设计型网站
  • 玩具网站开发背景网站授权系统怎么用
  • 宿州网站建设多少钱手机端网站开发要注意什么
  • 重庆涪陵网站建设深圳住房和城乡建设部网站
  • wordpress 网站改名网络公司营业范围
  • 做网站还是app服装网页设计欣赏
  • 网站开发的书籍wordpress积分商城
  • 云南网站的设计公司简介wordpress 相册 免费模板
  • 太仓网站制作公司哪家好网页访问被拒绝怎么办
  • asp 网站数据库连接错误切管机维修 东莞网站建设
  • 网站建设初级教程如何搭建网站的支付接口
  • php网站开发原理哔哩哔哩网页版在线观看网址
  • 我看别人做系统就直接网站下载文件广州省建设监理协会网站
  • 100元网站建设学网站建设难吗
  • 如何让新网站快速收录书店网站模板
  • 手机相册备份网站源码深圳网页制作费用
  • 大型门户网站设计解决方案合肥市建设工程造价信息网站
  • wordpress图片排列seo关键词快速排名前三位
  • 网站开发前期工作中卫设计师招聘
  • 学校定制网站建设公司南通网络推广公司