DataMapper ORM


JSON-Encoding and Decoding Methods (json)

To enable these methods, add 'json' to DataMapper's config, under 'extensions'.

Converts objects to and from a JSON-encoded string.

to_json($fields, $pretty_print, $include)

Converts the $object into a JSON-encoded string.

Usage

$u = new User();
$u->get_by_id($user_id);
$u->set_json_content_type();
echo $u->to_json(array('id', 'name', 'email'), TRUE);

// Outputs something like
// {"id": 1, "name":"Bob Johnson", "email":"bob.johnson@example.com"}

// Include the related groups in the result
$u = new User();
$u->get_by_id($user_id);
$u->group->get();
$u->set_json_content_type();
echo $u->to_json(array('id', 'name', 'email'), FALSE, array('group'));

// Outputs something like
// {"id": 1, "name":"Bob Johnson", "email":"bob.johnson@example.com", "group":"[{\"id\":1,\"name\":\"Administrators\"}]"}

all_to_json($fields, $pretty_print, $include)

Converts $object->all into a JSON-encoded string. The items will be placed into an array before conversion.

from_json($json, $fields)

Stores values encapsulated in a JSON-encoded string back on the $object.

Usage

$json = $this->input->post('notedata');
$n = new Note();
if($n->from_json($json))
{
    // TODO: verify input, save changes
}
else
{
    show_error('Invalid input');
}

set_json_content_type()

A simple method used to set the proper content type header (“Content-Type: application/json”) for JSON files.