批处理文件读取文件并创建 JSON?

批处理文件读取文件并创建 JSON?

我有一个文本文件,其中包含几十个以下格式的条目:

code: SETX
id: 1
msg: Message for setx

code: SETY
id: 2
msg: Message for sety
msg_ja: Japanese message for sety

如您所见,某些条目可能具有其他条目中不存在的键(例如:msg_ja在第二个条目中,但不在第一个条目中)。

我现在需要的是读取这个文本文件并从中创建一个 JSON。例如:

global_var.SETX = {
  id: 1,
  msg: "Message for setx"
};

global_var.SETY = {
  id: 2,
  msg: "Message for sety",
  msg_ja: "Japanese message for sety"
};

如何使用批处理文件执行此操作?

答案1

这是一个开始。只有一个小问题:JSON 块中的最后一项仍然以逗号结尾,但此代码片段将帮助您开始。

@echo off
Setlocal EnableDelayedExpansion

set first=1

for /f "tokens=1,2" %%i in (input.txt) do (    
    if "%%i"=="code:" (
        if !first! neq 1 (
            echo }
        )               
        echo global_var.%%j = {
    ) else (
        echo   %%i %%j,
    )
    set first=0
)
echo }

相关内容