簡體   English   中英

當將其用於進一步處理時,命令行輸出的一種良好格式是什么?

[英]What is a good format for command line output when it is being used for further processing?

我在Delphi中編寫了一個控制台應用程序,該應用程序從多個位置查詢信息。 該應用程序將由另一個進程啟動,並且到STDOUT的輸出將由啟動進程捕獲。

我正在檢索的信息將由調用應用程序解釋以進行報告。 將數據輸出到STDOUT以便於解析的最佳方法是什么? JSON? XML? CSV? 具體地說,數據是遠程工作站信息,因此它將像正在運行的進程一樣拉回事物,並提供有關每個進程的詳細信息。

有人對此有任何經驗或建議嗎?

如果您希望可以輕松地解析某些內容,尤其是必須快速完成的內容,請采用可以有效傳達所需信息的最簡單格式。 如果可以,請輸入CSV,否則請嘗試JSON。 絕對不是XML,除非出於某種原因確實確實需要所有額外的復雜性。

如果您的數據(看上去)不包含該字符, 我將使用制表符分隔的文件,因為它允許最快,最簡單的處理。 所有其他格式都更慢,更復雜(即使它們為您提供了更多功能)。

最接近的匹配項是CSV,但如果項目包含由CSV定義的某些特殊字符(空格,逗號,引號等),則CSV需要用該項目引起引用。

由於上述原因,制表符分隔格式是最緊湊的格式,因此它具有最大的在線傳輸速度。 (由於您在談論遠程工作站,所以我假設您在某種網絡上)。

另外,值得一提的是,制表符分隔格式非常易讀,因此,如果需要的話,調試會容易得多。

順便說一句,如果您的數據流中出現了制表符,則可以選擇另一個您肯定不會出現的字符。 (例如#1等)。 當然,如果您的使用情況允許的話,也可以這樣做。

高溫超導

這將完全取決於啟動過程的可用性。 如果是小型Delphi應用程序,則僅使用TStringList即可輕松解析CSV。 XML可能比JSON更重,但是Delphi附帶了XML解析器和AFAIK,而不是JSON解析器。

XML輸出格式的優點是您可以將其通過管道傳輸到XSL格式程序,以便可以將XML數據轉換為用戶友好的HTML文檔。 (你幾乎可以吃蛋糕也可以吃 )...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM