UE4 Json文件的读取和写入

首先要了解Json的基本信息
一:JSON的全称是JavaScript Object Notation,对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。
二:JSon文件的格式
数值:
格式:{ “key” : value}
示例: {“key1”:1,“key2”:2}
数组:
格式:{ “key” : [value]}
示例:{key" : [100, 13111],“key1” : [12274, 537]}
字符串:
格式:{ “key” : “value”}
示例: {“key1” : “张三”,“key2” : “李四”}
JSON 语法
JSON 语法是 JavaScript 语法的子集。

JSON 语法规则
JSON 语法是 JavaScript 对象表示语法的子集。

数据在名称/值对中
数据由逗号 , 分隔
使用斜杆 \ 来转义字符
大括号 {} 保存对象
中括号 [] 保存数组,数组可以包含多个对象
JSON 的两种结构:

1、对象:大括号 {} 保存的对象是一个无序的名称/值对集合。一个对象以左括号 { 开始, 右括号 } 结束。每个"键"后跟一个冒号 :,名称/值对使用逗号 , 分隔。

2、数组:中括号 [] 保存的数组是值(value)的有序集合。一个数组以左中括号 [ 开始, 右中括号 ] 结束,值之间使用逗号 , 分隔。

值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array),它们是可以嵌套。

JSON 名称/值对
JSON 数据的书写格式是:

key : value
名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值:

“name” : “菜鸟教程”
这很容易理解,等价于这条 JavaScript 语句:

name = “菜鸟教程”
JSON 值
JSON 值可以是:

数字(整数或浮点数)
字符串(在双引号中)
逻辑值(true 或 false)
数组(在中括号中)
对象(在大括号中)
null
JSON 数字
JSON 数字可以是整型或者浮点型:

{ “age”:30 }
JSON 对象
JSON 对象在大括号 {} 中书写:

{key1 : value1, key2 : value2, … keyN : valueN }
对象可以包含多个名称/值对:

{ “name”:“菜鸟教程” , “url”:“www.runoob.com” }
这一点也容易理解,与这条 JavaScript 语句等价:

name = “菜鸟教程”
url = “www.runoob.com”

JSON 数组
JSON 数组在中括号 [] 中书写:

数组可包含多个对象:

[
{ key1 : value1-1 , key2:value1-2 },
{ key1 : value2-1 , key2:value2-2 },
{ key1 : value3-1 , key2:value3-2 },

{ key1 : valueN-1 , key2:valueN-2 },
]
{
“sites”: [
{ “name”:“菜鸟教程” , “url”:“www.runoob.com” },
{ “name”:“google” , “url”:“www.google.com” },
{ “name”:“微博” , “url”:“www.weibo.com” }
]
}
在上面的例子中,对象 sites 是包含三个对象的数组。每个对象代表一条关于某个网站(name、url)的记录。

JSON 布尔值
JSON 布尔值可以是 true 或者 false:

{ “flag”:true }
JSON null
JSON 可以设置 null 值:

{ “runoob”:null }
JSON 使用 JavaScript 语法
因为 JSON 使用 JavaScript 语法,所以无需额外的软件就能处理 JavaScript 中的 JSON。

通过 JavaScript,您可以创建一个对象数组,并像这样进行赋值:

实例
var sites = [
{ “name”:“runoob” , “url”:“www.runoob.com” },
{ “name”:“google” , “url”:“www.google.com” },
{ “name”:“微博” , “url”:“www.weibo.com” }
];

可以像这样访问 JavaScript 对象数组中的第一项(索引从 0 开始):

sites[0].name;
返回的内容是:

runoob
可以像这样修改数据:

sites[0].name=“菜鸟教程”;
UE4 对JSon文件的读取主要使用两个插件
一是VaRest-develop
链接:https://pan.baidu.com/s/1qzd0ZV1ZvnF5zuFnmMzUbQ
提取码:vwx9
二是:VictoryPlugins
链接:https://pan.baidu.com/s/1EPCcMnjWuN8mTCgjLLEO5A
提取码:509j
下载之后放入到Plugins文件夹中生成和编译
第一步:新建VS项目,建一个Plugins文件夹,将下载好的插件放入并且编译
在这里插入图片描述
在这里插入图片描述

第二步:打开打开项目打开关卡蓝图,单一json读取和写入
在这里插入图片描述运行结果:在这里插入图片描述
Json数组
写入:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
读取:
在这里插入图片描述
运行结果:
在这里插入图片描述

  • 6
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
UE4中使用Json文件进行数据的读取写入相对比较简单。下面将以C++代码为例说明: 1. 读取Json文件: 首先需要引入Json库的头文件: ```cpp #include "Json.h" #include "JsonUtilities.h" ``` 然后使用FFileHelper::LoadFileToString函数来将Json文件加载为字符串: ```cpp FString JsonStr; FFileHelper::LoadFileToString(JsonStr, TEXT("文件路径")); ``` 接下来使用FJsonUtilities::JsonStringToValue函数将字符串转化为Json对象: ```cpp TSharedPtr<FJsonObject> JsonObj; TSharedRef<TJsonReader<TCHAR>> JsonReader = TJsonReaderFactory<TCHAR>::Create(JsonStr); if (FJsonSerializer::Deserialize(JsonReader, JsonObj)) { // 读取Json对象中的数据 // 例如:JsonObj->GetStringField("字段名称") 获取字符串字段的值 } ``` 2. 写入Json文件: 创建一个Json对象,并给它赋值: ```cpp TSharedPtr<FJsonObject> JsonObj = MakeShareable(new FJsonObject); JsonObj->SetStringField("字段名称", "字段值"); ``` 将Json对象序列化为字符串: ```cpp FString JsonStr; TSharedRef<TJsonWriter<TCHAR>> JsonWriter = TJsonWriterFactory<TCHAR>::Create(&JsonStr); FJsonSerializer::Serialize(JsonObj.ToSharedRef(), JsonWriter); JsonWriter->Close(); ``` 使用FFileHelper::SaveStringToFile函数将字符串写入文件: ```cpp FFileHelper::SaveStringToFile(JsonStr, TEXT("文件路径")); ``` 以上就是使用UE4进行Json文件读取写入的简单步骤。根据具体需求,你可以根据Json的对象结构和字段类型进行相应的数据读取写入操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞起的猪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值