使用Ruby将格式化的TEXT文件转换为JSON?

时间:2014-03-24 14:41:28

标签: ruby json file ruby-on-rails-4

使用以下格式解析文本文件,JSON或从文件中获取密钥/值的更快方法的最佳方法是什么?

Data Format: 
  dateTimeDelimiter: " "
  decimalSeparator: "."
  dataDelimiter: ","
  dateFormat: M/d/yy
  timeFormat: HH:mm:ss
  gmtOffset: "-5"
  daylightSavings: true

Logger Info: 
  - &1
  launchDescription: "DESCr"
  model: U30
  vendor: VendorName
  serialNumber: 1234567
  memorySize: 0
  firmwareVersion: 1.117
  firmwareVersionRaw: 0
  deploymentNumber: 1523
Series Info: 
 - name: "Scaled Series"
   type: value
   unitName: "kW"
   OMClassName: OMeasurementH21
   OMPartNumber: S-UCD-MXXX
   OMUnitIndex: 0
   OMChannelType: 12
   OMValuePattern: "#,##0.;-#,##0."
   logger: *1
 - name: "Scaled Series"
   type: value
   unitName: "kW"
   OMClassName: OMeasurementH21
   OMPartNumber: S-UCD-MXXX
   OMUnitIndex: 0
   OMChannelType: 12
   OMValuePattern: "#,##0.;-#,##0."
   logger: *1

   ---- 

在虚线之后有我已经解析的CSV数据。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

此文件类似于YAML。您应该能够使用yaml = YAML.load_file("some_file.txt")将其解析为哈希,然后使用yaml.to_json将其转换为JSON