Я могу экспортировать сериализованное текстовое представление объекта из нашего проприетарного программного обеспечения для ЧПУ и его необходимо проанализировать для импорта объектов в мое приложение Rails.Разбор пользовательского сериализованного объекта в Rails
Пример сериализованная выход:
Header {
code "Centric 20170117 16gaHRS"
label "Centric 20170117 16gaHRS"
lccShortname "Centric 20170117 16gaHRS"
jobgroup "20170117 - Pike Sign"
waste 97.5516173272
unit INCH
Material {
code "HRS"
label "HRS"
labelDIN "HRS"
density 0.283647787542
thickness 0.125
}
}
Rawmaterials {
Rawmaterial {
id 52312
format 120 48.25
stock +999
used +1
}
}
Parts {
Part {
id 1
code "8581-Sign"
label "8581-Sign"
need +2
used +2
priority +1
turnAngleIncrement +180
ccAllowed +0
filler +0
area 141.761356753
positioningTime 10.369402427
cuttingTime 346.222969467
piercingTime 35.5976025504
positioningWay 1949.56
cuttingWay 9249.13
countPiercingNormal +75
countPiercingPuls +4
}
}
Plans {
Plan {
id 52313
label "Centric 20170117 16gaHRS 1"
filename "Centric 20170117 16gaHRS01"
border 0.5 0.5 0.5 0.5
cycleCount +1
waste 97.5516173272
positioningTime 11.9357066923
cuttingTime 345.629256802
piercingTime 35.5976025504
auxiliaryProcessTime 79.2405450926
positioningWay 1954.13
cuttingWay 9215.92
countPiercingNormal +75
countPiercingPuls +4
RawmaterialReference 52312
PartReferences {
PartReference {
id 1
layer 21
partId 1
insert -128.833464567 -97.2358267717
}
}
}
Plan {
id 52314
label "Centric 20170117 16gaHRS 2"
filename "Centric 20170117 16gaHRS02"
border 0.5 0.5 0.5 0.5
cycleCount +1
waste 97.5516173272
positioningTime 11.9357066923
cuttingTime 345.629256802
piercingTime 35.5976025504
auxiliaryProcessTime 79.2405450926
positioningWay 1954.13
cuttingWay 9215.92
countPiercingNormal +75
countPiercingPuls +4
RawmaterialReference 52312
PartReferences {
PartReference {
id 1
layer 21
partId 1
insert -128.833464567 -97.2358267717
}
}
}
}
Для начала, я хотел бы извлечь атрибут code
из раздела Header
, и атрибут filename
для каждого Plan
.
Я мог бы выполнять итерацию в файле, сохраняя при этом фигурные скобки и какой раздел мы сейчас обрабатываем, но кажется, что должен быть более простой способ. Я мог бы легко разобрать его, если бы это были JSON или XML-данные, но я не понимаю, как простейший способ разобрать этот нестандартный формат.
я в конечном итоге написание пользовательского анализатора для собственного формата. – Ryan
Хороший выбор, вы выбрали самый забавный вариант! :) – akuhn