Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Config::Model::BackendUseroContributed Perl DocConfig::Model::Backend::Json(3)

NAME
       Config::Model::Backend::Json - Read and write config as a JSON data
       structure

VERSION
       version 2.140

SYNOPSIS
	use Config::Model ;
	use Data::Dumper ;

	# define configuration tree object
	my $model = Config::Model->new ;
	$model ->create_config_class (
	   name	=> "MyClass",
	   element => [
	       [qw/foo bar/] =>	{
		   type	=> 'leaf',
		   value_type => 'string'
	       },
	       baz => {
		   type	=> 'hash',
		   index_type => 'string' ,
		   cargo => {
		       type => 'leaf',
		       value_type => 'string',
		   },
	       },
	   ],
	 rw_config  => {
	   backend => 'Json' ,
	   config_dir => '/tmp',
	   file	 => 'foo.json',
	   auto_create => 1,
	 }
	) ;

	my $inst = $model->instance(root_class_name => 'MyClass' );

	my $root = $inst->config_root ;

	my $steps = 'foo=yada bar="bla bla" baz:en=hello
		    baz:fr=bonjour baz:hr="dobar dan"';
	$root->load( steps => $steps ) ;
	$inst->write_back ;

       Now, "/tmp/foo.yml" contains:

	{
	  "bar"	: "bla bla",
	  "foo"	: "yada",
	  "baz"	: {
	     "hr" : "dobar dan",
	     "en" : "hello",
	     "fr" : "bonjour"
	  }
	}

DESCRIPTION
       This module is used directly by Config::Model to	read or	write the
       content of a configuration tree written with Json syntax	in
       "Config::Model" configuration tree.

       Note that undefined values are skipped for list element.	I.e. if	a list
       element contains	"('a',undef,'b')", the data structure only contains
       'a','b'.

CONSTRUCTOR
   new
       Parameters: "( node => $node_obj, name => 'Json'	)"

       Inherited from Config::Model::Backend::Any. The constructor is called
       by Config::Model::BackendMgr.

   read
       Of all parameters passed	to this	read call-back,	only "file_path" is
       used. This parameter must be a Path::Tiny.

       When a file is read, "read" returns 1.

   write
       Of all parameters passed	to this	write call-back, only "file_path" is
       used. This parameter must be Path::Tiny object.

       "write" returns 1.

AUTHOR
       Dominique Dumont, (ddumont at cpan dot org)

SEE ALSO
       Config::Model, Config::Model::BackendMgr, Config::Model::Backend::Any,

AUTHOR
       Dominique Dumont

COPYRIGHT AND LICENSE
       This software is	Copyright (c) 2005-2020	by Dominique Dumont.

       This is free software, licensed under:

	 The GNU Lesser	General	Public License,	Version	2.1, February 1999

perl v5.32.0			  2020-08-28   Config::Model::Backend::Json(3)

NAME | VERSION | SYNOPSIS | DESCRIPTION | CONSTRUCTOR | AUTHOR | SEE ALSO | AUTHOR | COPYRIGHT AND LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Config::Model::Backend::Json&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help