如何使用 cmd.exe 批处理文件(for 循环)将 JSON 语法转换为另一种语法

How to convert JSON syntax to another one with a cmd.exe batch file (for loop)

我有 10000 个小的 tmp/txt 文件,如下所示:

1.tmp: {"a": "you","data": "1","data2": "2"} <linefeed> {"b":"bo"}
2.tmp: {"a": "you2","data": "1","data2": "2"} <linefeed> {"b":"bo2"}
3.tmp: {"a": "you3","data": "1","data2": "2"} <linefeed> {"b":"bo3"}

我如何读取它们中的每一个并将它们转换为另一种格式,一个文件每个文件有 1 行:

{ "a": "you", "b": "bo" },
{ "a": "you2", "b": "bo2" },
{ "a": "you3", "b": "bo3" },

棘手的部分可能是每个 .tmp 文件都有一个换行符?

我的代码开始

for /L %%i in (0,1,10000) do (call parsesomehow %%i.tmp )

据我了解,每个 tmp 文件中只有 2 行。 您必须阅读每个 tmp 文件。在每个循环中,您都应该解析第一个字符串。然后 - 第二。这个parce循环必须是存储过程

下一步是将解析后的值打印到输出文件。

@echo off
for %%i in (*.tmp) do call :parse %%i
goto :EOF

:parse
for /f "delims=," %%a in (%1) do set "A=%%a" &goto NXT
:NXT
for /f "delims={" %%a in ('more +1 %1') do set "B=%%a"
echo %A%, %B%>>output.txt