Last updated on October 16, 2020 by Dan Nanni
If you need to parse a JSON-formatted string in Perl, you can use a Perl module called JSON
. The JSON
module contains JSON-specific decode/encode functions that convert a JSON string into a Perl data structure, and vice versa. Here is how to parse JSON string in Perl.
First, install JSON
Perl module from CPAN:
$ sudo perl -MCPAN -e 'install JSON'
Alternatively, if you are using Ubuntu or Debian, you can install JSON
module as follows.
$ sudo apt-get install libjson-pp-perl
You can then use a function called decode_json()
which decodes a JSON string, and returns the reference to a corresponding Perl data structure.
The following Perl example shows how to parse JSON string, including JSON object and JSON array.
use strict; use warnings; use JSON qw( decode_json ); my $json = '{ "name": "Bob", "sex": "Male", "address": { "city": "San Jose", "state": "California" }, "friends": [ { "name": "Alice", "age": "20" }, { "name": "Laura", "age": "23" }, { "name": "Daniel", "age": "30" } ] }'; my $decoded = decode_json($json); # This is a Perl example of parsing a JSON object. print "City = " . $decoded->{'address'}{'city'} . "n"; # This is a Perl example of parsing a JSON array. my @friends = @{ $decoded->{'friends'} }; foreach my $f ( @friends ) { print $f->{"name"} . "n"; }
The above Perl code snippet will print out the following.
City = San Jose Alice Laura Daniel
If interested, you can check out other tutorials on parsing JSON string, such as using Python language or a Linux command line.
This website is made possible by minimal ads and your gracious donation via PayPal or credit card
Please note that this article is published by Xmodulo.com under a Creative Commons Attribution-ShareAlike 3.0 Unported License. If you would like to use the whole or any part of this article, you need to cite this web page at Xmodulo.com as the original source.
Xmodulo © 2021 ‒ About ‒ Write for Us ‒ Feed ‒ Powered by DigitalOcean