2012-10-08 51 views
2

我有一個是結構化這樣的文件數量巨大轉變:文件格式的遺留數據

// NAME = XXXX 
// MARKER = YYYY 
// SOURCE = ZZZZ 
# Real data follows, one item per line 
Item1 
Item2 
Item3 

我試圖走出這舊格式的,因爲它是一個麻煩來解析(有時有3 //線,有時4):由於Item1等等...列表不長(最多400項左右),我正在考慮一個合適的替換。絕對必要性將是基於文本的。

我心中有兩個思路:

  1. 使用JSON
  2. 保持數據不過是凝結在一個單行標題

目標是然而避免定製儘可能地解析(這些文件的主要問題)並依賴於構建的解析器(在我的具體情況下是Python解析器)。 假設我去爭取1,JSON實際上是一個合適的選擇嗎?

+0

conf-files怎麼樣? http://docs.python.org/library/configparser.html – defuz

+0

@defuz由於Item1,Item2 ... – Einar

回答

4

這裏是贊成JSON的一些原因:

  • 它是人類可讀
  • 而不是像冗長的XML
  • Python有讀/寫JSON一個built-in library
  • JSON是不是Python專用的(不像configparser)。其他語言 也可以解析JSON

一個可能的問題與JSON:

  • 整個JSON必須讀取被解析。如果JSON很大,這可能是(內存)問題 。
+0

的長度,我發現這個特定類型的文件的INI語法有問題,它不會「巨大」 se,因爲Item1,..的列表最多會少於1000。 – Einar

2

在企業環境中,由於其成熟的驗證選項,數據類型規範和非Unicode支持,我的偏好是XML。

我知道JSON還有一個Schema規範草案,如果沿着JSON路線走下去的話,這個草案規範值得使用。