这是被控的文件内容↓
{
"ActiveTargetFramerate": 60,
"BlobSyncPort": 9700,
"CustomGameModeSettings": {
"GameSetting.Environment.DayLength": "Default",
"GameSetting.Environment.PrecipitationFrequency": "Default",
"GameSetting.Environment.SeasonLength": "Default",
"GameSetting.Environment.StartingSeason": "Summer",
"GameSetting.Survival.ColdPenalties": "Off",
"GameSetting.Survival.ConsumableEffects": "Normal",
"GameSetting.Survival.PlayerStatsDamage": "Off",
"GameSetting.Survival.ReducedFoodInContainers": false,
"GameSetting.Survival.SingleUseContainers": false,
"GameSetting.Vail.AnimalSpawnRate": "Normal",
"GameSetting.Vail.EnemyAggression": "Normal",
"GameSetting.Vail.EnemyArmour": "Normal",
"GameSetting.Vail.EnemyDamage": "Normal",
"GameSetting.Vail.EnemyHealth": "Normal",
"GameSetting.Vail.EnemySpawn": true
},
"GameMode": "Normal",
"GamePort": 8766,
"GameSetting": {
"Environment": {
"DayLength": "long"
}
},
"GameSettings": {
"Gameplay.TreeRegrowth": true,
"Structure.Damage": true
},
"IdleDayCycleSpeed": 0,
"IdleTargetFramerate": 5,
"IpAddress": "0.0.0.0",
"LanOnly": false,
"LogFilesEnabled": false,
"MaxPlayers": 8,
"Password": "",
"QueryPort": 27016,
"SaveInterval": 600,
"SaveMode": "Continue",
"SaveSlot": 1,
"ServerName": "五朵金花",
"TimestampLogEntries": true,
"TimestampLogFilenames": true
}
这是控制文件的代码↓
{
"serverconfig/dedicatedserver.cfg": {
"parser": "json",
"find": {
"ServerName": "{{server.build.env.SRV_NAME}}",
"SaveSlot": "{{server.build.env.SAVE_SLOT}}"
}
}
}
正常用这个代码控制上面文件第一层的都没什么问题 现在我想控制 "CustomGameModeSettings": {
"GameSetting.Environment.DayLength": "Default",就涉及第二层了
按正常逻辑控制第二层 应该这么写 {
"serverconfig/dedicatedserver.cfg": {
"parser": "json",
"find": {
"CustomGameModeSettings.GameSetting.Environment.DayLength": "{{server.build.env.SRV_NAME}}",
"ServerName": "{{server.build.env.SRV_NAME}}",
"SaveSlot": "{{server.build.env.SAVE_SLOT}}"
}
}
}
用点去让他找下一层,但是他这个参数本身就是带点的 这就让系统误会一直向下找
关于#json#的问题:正常用这个代码控制上面文件第一层的都没什么问题 现在我想控制 "CustomGameModeSettings": {
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 一轮明月照丘壑 2024-09-15 22:44关注
以下回复参考:皆我百晓生、券券喵儿等免费微信小程序作答:
你的问题是在处理 JSON 文件时,如何准确地定位到第二层或更深层的键值对,并在其中插入或修改数据。在你提供的例子中,你想要修改
"CustomGameModeSettings"
下的"GameSetting.Environment.DayLength"
的值。这个问题可以通过修改你的控制文件的代码来解决。在 JSONPath 中,你可以使用/
和.
来表示父子键值对关系。因此你需要更详细地指定你想要控制的路径。以下是修改后的代码:{ "serverconfig/dedicatedserver.cfg": { "parser": "json", "find": { "CustomGameModeSettings": { "GameSetting": { "Environment": { "DayLength": "{{server.build.env.DAY_LENGTH}}" # 这里使用你的变量替换 "Default" } } }, "ServerName": "{{server.build.env.SRV_NAME}}", "SaveSlot": "{{server.build.env.SAVE_SLOT}}" } } }
在这个修改后的代码中,我们明确地指定了
"CustomGameModeSettings"
下的"GameSetting"
,然后是"Environment"
,最后是"DayLength"
。这样就不会出现误解为继续向下查找的情况。你需要确保替换"{{server.build.env.DAY_LENGTH}}"
为你实际想要设置的变量值。这个变量值应该和你的目标 JSON 文件中的"Default"
值相对应。同样的逻辑可以应用到其他你想要控制的键值对上。解决 无用评论 打赏 举报
悬赏问题
- ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
- ¥50 浦育平台scratch图形化编程
- ¥20 求这个的原理图 只要原理图
- ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
- ¥20 微信的店铺小程序如何修改背景图
- ¥15 UE5.1局部变量对蓝图不可见
- ¥15 一共有五道问题关于整数幂的运算还有房间号码 还有网络密码的解答?(语言-python)
- ¥20 sentry如何捕获上传Android ndk 崩溃
- ¥15 在做logistic回归模型限制性立方条图时候,不能出完整图的困难
- ¥15 G0系列单片机HAL库中景园gc9307液晶驱动芯片无法使用硬件SPI+DMA驱动,如何解决?