2013-07-19 46 views
0

我有一个问题,我尝试做从JSON使用batch只是解析一些值...解析长JSON字符串批量

我通过调用获得JSON文件:

curl -G http://xxxxxx.xx/xx/xx 

该调用返回长度为25 000个字符的字符串,其值为"key":"value",由,分隔。我试图用分隔符分隔它,但它不起作用,因为该字符串对于存储在内存中的时间太长...

我真的不知道我该怎么做,如果可能的话。任何人有任何想法?

感谢

编辑: JSON文件看起来像:json pastebin但没有空格它了....

+1

请显示你的'json'文件,你可以上传一个零件给eg。引擎收录。 – Endoro

回答

1

通常在批处理文件中的任何行不能超过8192个字符。
只有FOR /F可以读取从文件中的任何行,但仍然不能分配长度超过8191字节的参数。

但是,如果您以某种方式拆分它,以便每个单个参数更小,那么它就可以工作。
即使您知道thrid参数较长,您也可以忽略它。

FOR /F "token=1-10 delims=," %%a in (longFile.txt) do (
    echo %%a 
    echo %%b 

    echo %%d 
) 
+0

+1,非常酷。我不知道这是可能的。虽然我不确定它会帮助OP。这些值可能并不总是以相同的顺序。并且FOR/F无法一次解析超过32个值。如果有32个以上的值,31之后的长度大于8192,那么看起来这是注定要失败的。 – dbenham

+0

好吧,它看起来可以工作,但问题是,在响应不是行......一切都在一行,所以我需要什么东西会说什么是换行符的界限 –

+0

你可以尝试使用' {'或'}'作为分界符,但批处理不是这个 – jeb