我有一个名为 example.txt 的文本文件,其中包含:
[{
"Subtitle": {
"Search": {
"Burn": false,
"Default": false,
"Enable": false,
"Forced": false
},
"SubtitleList": [
{
"Burn": false,
"Default": false,
"Forced": false,
"ID": 1,
"Offset": 0,
"Track": 0
},
{
"Burn": false,
"Default": false,
"Forced": false,
"ID": 2,
"Offset": 0,
"Track": 1
},
{
"Burn": false,
"Default": false,
"Forced": false,
"ID": 3,
"Offset": 0,
"Track": 2
}]
}
}]
但是,这可以在整个 txt 文件中重复多次,始终遵循相同的基本结构。
在下面“字幕列表”,我想确保“默认”:true, 尽管“编号”:1和“轨迹”:0。
否则,如果 ID 和 Track 等于其他任何值(例如“ID”:2 和“Track”:1 或类似值),则默认值应为 false。
我认为这需要一个 for 循环,或者一个 if then else 并从批处理文件运行。
我还认为,为了使其正常工作,代码可能需要检查每个“SubtitleList”部分下 { } 括号内的全部内容(但我对此并不完全确定)。
像这样(伪代码):
if
"SubtitleList": [
{
"Burn": false,
"Default": false,
"Forced": false,
"ID": 1,
"Offset": 0,
"Track": 0
},
then
"SubtitleList": [
{
"Burn": false,
"Default": true,
"Forced": false,
"ID": 1,
"Offset": 0,
"Track": 0
},
else
do nothing
这“默认”应该只等于‘true’ 而 “ID”:1和“轨迹”:0否则它应该始终是“false”。
我宁愿使用批处理文件而不是 Powershell(如果可能的话),或者接受其他可能的建议,例如 VBScript。
有人可以帮忙吗?