Конвертировать DBF в JSON

Я хочу преобразовать файл данных Foxpro 2.6 Dos (DBF — DBase III Format) в файл JSON. Есть ли у нас какая-либо библиотека C / C ++ для преобразования DBF в JSON, а также обратно из JSON в DBF.

0

Решение

Perl модуль DBD::XBase поможет вам.

В Linux: sudo apt-get install libdbd-xbase-perl

В Windows: установить ActivePerl, затем ppm install DBD::XBase

После этого у вас будет утилита командной строки dbf_dump (dbfdump на Windows), который может конвертировать файл DBF в CSV (вам нужно будет использовать --fs "," переключиться на создание CSV), а затем вы можете конвертировать CSV в JSON.

Однако я бы порекомендовал узнать, как работает Perl DBI, и написать код, который может читать из вашего DBF, как из любого другого источника SQL / DBI. Ваш Perl-код может выглядеть так:

use DBI;

my $dbh = DBI->connect("DBI:XBase:/path/to/dbfs")
or die $DBI::errstr;
my $sth = $dbh->prepare("SELECT * FROM mytable");
$sth->execute();
while (my $row = $sth->fetchrow_hashref()) {
# dump ($row->{field1}, $row->{field2}, ...) into your JSON file.
# you might want to use JSON::XS module here
# or, you can insert it into PostgreSQL or MySQL via DBI as well
}
$sth->finish();
$dbh->disconnect();
1

Другие решения

Других решений пока нет …