summaryrefslogtreecommitdiff
path: root/LedgerSMB
diff options
context:
space:
mode:
Diffstat (limited to 'LedgerSMB')
-rw-r--r--LedgerSMB/DBObject.pm9
1 files changed, 9 insertions, 0 deletions
diff --git a/LedgerSMB/DBObject.pm b/LedgerSMB/DBObject.pm
index a0c6ba49..13e31230 100644
--- a/LedgerSMB/DBObject.pm
+++ b/LedgerSMB/DBObject.pm
@@ -252,6 +252,15 @@ sub _parse_array {
$separator = $1;
}
$next =~ s/"(.*)"$separator$/$1/;
+
+ } elsif ($value =~ /^{({+})/){
+ my $open_braces = $1;
+ my $close_braces = $open_braces;
+ $close_braces =~ s/{/}/g;
+ $value =~ /^{($open_braces.*$close_braces)/;
+ $next = $1;
+ $value =~ s/^{$next/{/;
+ $next = $self->parse_array($next);
} else {
$value =~ s/^\{([^,]*)(,|\})/\{/;