Mojo::JSON::Pointer

作者: JSON_NULL | 来源:发表于2017-09-27 16:16 被阅读8次

简介

Mojo::JSON::Pointer JSON指针,提供JSON数据的检索,是RFC 6901 的一个实现。

use  Mojo::JSON::Pointer;
my $pointer = Mojo::JSON::Pointer->new({foo => [23, 'bar']});
say $pointer->get('/foo/1');
say 'Contains "/foo".' if $pointer->contains('/foo');

属性

Mojo::JSON::Pointer 仅实现了一个属性 data。用于获取或设置为Mojo::JSON::Pointer服务的JSON结束的数据。

my $data = $pointer->data;
$pointer = $pointer->data({foo => 'bar'});

方法

Mojo::JSON::Pointer继承了Mojo::Base中所有的方法,并实现了以下方法。

contains

my $bool = $pointer->contains('/foo/1');

检查Mojo::JSON::Pointer的data属性中是否包含参数中给定的“JSON指针”标识的值。

# True
Mojo::JSON::Pointer->new('just a string')->contains('');
Mojo::JSON::Pointer->new({'♥' => 'mojolicious'})->contains('/♥');
Mojo::JSON::Pointer->new({foo => 'bar', baz => [4, 5]})->contains('/foo');
Mojo::JSON::Pointer->new({foo => 'bar', baz => [4, 5]})->contains('/baz/1');

# False
Mojo::JSON::Pointer->new({'♥' => 'mojolicious'})->contains('/☃');
Mojo::JSON::Pointer->new({foo => 'bar', baz => [4, 5]})->contains('/bar');
Mojo::JSON::Pointer->new({foo => 'bar', baz => [4, 5]})->contains('/baz/9');

get

my $value = $pointer->get('/foo/bar');

根据参数中给定的“JSON指针”从Mojo::JSON::Pointer对象的data属性中检索对应的值并返回。如果没有找到则返回undef。

# "just a string"
Mojo::JSON::Pointer->new('just a string')->get('');

# "mojolicious"
Mojo::JSON::Pointer->new({'♥' => 'mojolicious'})->get('/♥');

# "bar"
Mojo::JSON::Pointer->new({foo => 'bar', baz => [4, 5, 6]})->get('/foo');

# "4"
Mojo::JSON::Pointer->new({foo => 'bar', baz => [4, 5, 6]})->get('/baz/0');

# "6"
Mojo::JSON::Pointer->new({foo => 'bar', baz => [4, 5, 6]})->get('/baz/2');

new

my $pointer = Mojo::JSON::Pointer->new;
my $pointer = Mojo::JSON::Pointer->new({foo => 'bar'});

构建一个新的Mojo::JSON::Pointer对象,并根据传的参数设置data属性。

相关文章

  • Mojo::JSON::Pointer

    简介 Mojo::JSON::Pointer JSON指针,提供JSON数据的检索,是RFC 6901 的一个实现...

  • Mojo::JSON

    Mojo::JSON 是一个纯Perl实现的简约的JSON解析器。 简介 Mojo::JSON 支持正常的Perl...

  • Mojo::Home

    Mojo::Home为 Mojo程序提供“家目录”服务,它是一个Mojo程序“家目录”的容器。Mojo::Home...

  • mojo是什么?

    What is a Mojo? A mojo is a Maven plain Old Java Object. ...

  • Mojo::Base (不仅仅是对文档的翻译)

    Mojo::Base - Minimal base class for Mojo projects status...

  • Mojo::Reactor

    Mojo::Reactor 是低层事件驱动器的基类。通过子类Mojo::Reactor::EV和Mojo::Rea...

  • Mojo::EventEmitter

    简介 Mojo::EventEmitter - Event emitter base class Mojo::Ev...

  • Mojo::Log

    Mojo::Log模块是Mojo项目的简单日志记录器。并且它是Mojo::EventEmitter的一个子类。 语...

  • Mojo::UserAgent::CookieJar

    简介 Mojo::UserAgent::CookieJar是基于RFC 6265的供Mojo :: UserAge...

  • Mojo::UserAgent::Transactor

    简介 Mojo::UserAgent::Transactor 是Mojo::UserAgent中使用的事务构建和操...

网友评论

    本文标题:Mojo::JSON::Pointer

    本文链接:https://www.haomeiwen.com/subject/ztvuextx.html