2013-07-19 48 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