漂亮打印JSON我有一臺服務器上的多個JSON-文件,它只能運行批處理腳本或命令行工具。所有的JSON文件格式都不正確,這意味着在行首沒有製表符空格。Windows批處理 - 每個腳本
有沒有一種方法,寫一個批處理腳本或運行一個命令行工具來格式化文件,所以他們恢復正常?
漂亮打印JSON我有一臺服務器上的多個JSON-文件,它只能運行批處理腳本或命令行工具。所有的JSON文件格式都不正確,這意味着在行首沒有製表符空格。Windows批處理 - 每個腳本
有沒有一種方法,寫一個批處理腳本或運行一個命令行工具來格式化文件,所以他們恢復正常?
你肯定會需要一個外部工具。我使用的是command-line JSON processor jq
- 只是傳遞一個空過濾器,它會打印出它作爲輸入提供的JSON。
例子:
ECHO "{ \"att1\": 1, \"att2\": 2 }" | jq ""
輸出:
{
"att1": 1,
"att2": 2
}
超級快速的方法來做到這一點,如果你已經安裝了Python是通過鍵入命令提示符或PowerShell的以下內容:
type dirty.json | python -m json.tool > pretty.json
其中dirty.json已經過壓縮或無法讀取JSON和pretty.json是一個漂亮的。你甚至可以把它放在一個批處理文件中,通過傳遞一個參數來運行它。它的處理速度非常快。
說明:所以它被髮送到Python的模塊json.tool然後「>」寫輸出到一個名爲「pretty.json」文件 類型寫入文件的內容到控制檯,但它的管道。在沒有> pretty.json
的情況下嘗試查看控制檯中的輸出。
這並不而可靠地工作['jq'確實](https://stackoverflow.com/a/33123564/2932052)。處理Pandoc輸出時失敗。在第一行中,我觀察到數據丟失。因此,如果您只想格式化JSON,則此建議**適得其反**。 – Wolf
您有沒有嘗試過格式化輸出的例子?我不認爲我提到的方法會導致數據丟失。 – dnafication
我通過Pandoc將Markdown文檔轉換爲JSON。重新格式化時,python json.tool刪除了Pandoc元數據。 – Wolf
過濾器'.'的'jq'文檔中建議,它也確實隱含了美化。這個選項在Windows命令行中更容易提供。 – Wolf
這不起作用。同樣,對於更大的文件大小,jq只是崩潰。 – Delfic
@Deflic:請提供信息,哪些不起作用,即開放問題並提供必要的信息供我們複製。這個答案在這裏被接受是一個強有力的指標,該方法確實有效。 – zb226