[Catalyst] JSON encoding issue: array of hashes
    Dan 
    dan at entropy.homelinux.org
       
    Sun Aug 29 07:13:41 GMT 2010
    
    
  
Hi people :)
Catalyst beginner here. I'm trying to get an array of hashes encoded.
Something is going wrong.
My code:
---
sub getRetailers :Path :Args(1) {
    my ( $self, $c ) = @_;
    my $results = $c->model('ESDB::Retailer')->search_literal( '1=1' );
    my @results;
    foreach my $result ( $results->all ) {
        push( @results, {
            id     => $result->retailerid,
            label  => $result->retailername
        } );
    };
    $c->stash( @results );
    $c->forward('EasySaver::View::JSON');
}
---
Output:
{"HASH(0x9f8bf88)":{"label":"AGL","id":"4"},"HASH(0xa4dbfb8)":{"label":"Integral","id":"2"}}
---
So obviously the HASH(memory location) stuff is wrong. And also I see 2
records there, id 2 and id 4. I'm missing id 1 and id 3.
Anyone know what I'm doing wrong?
Thanks :)
Dan
    
    
More information about the Catalyst
mailing list