# activitypub/8.2.1/includes/transformer/class-json.php

ActivityPub, version 8.2.1. 42 lines.

- Page: https://pluginprobe.com/plugins/activitypub/8.2.1/code/includes/transformer/class-json.php
- Raw: https://pluginprobe.com/plugins/activitypub/8.2.1/raw/includes/transformer/class-json.php
- Modified: 2025-09-15T13:30:52+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/activitypub/8.2.1/code/includes/transformer/class-json.php#L10-L20`.

```php
<?php
/**
 * String Transformer Class file.
 *
 * @package Activitypub
 */

namespace Activitypub\Transformer;

use function Activitypub\is_activity;
use function Activitypub\is_actor;

/**
 * String Transformer Class file.
 */
class Json extends Activity_Object {

	/**
	 * JSON constructor.
	 *
	 * @param string|array $item The item that should be transformed.
	 */
	public function __construct( $item ) {
		if ( \is_string( $item ) ) {
			$item = \json_decode( $item, true );
		}

		// Check if the item is an Activity or an Object.
		if ( is_activity( $item ) ) {
			$class = '\Activitypub\Activity\Activity';
		} elseif ( is_actor( $item ) ) {
			$class = '\Activitypub\Activity\Actor';
		} else {
			$class = '\Activitypub\Activity\Base_Object';
		}

		$object = $class::init_from_array( $item );

		parent::__construct( $object );
	}
}

```
