Я хочу преобразовать файл данных Foxpro 2.6 Dos (DBF — DBase III Format) в файл JSON. Есть ли у нас какая-либо библиотека C / C ++ для преобразования DBF в JSON, а также обратно из JSON в DBF.
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();
Других решений пока нет …