PHPackages                             fwhat/jsonmapper - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. fwhat/jsonmapper

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

fwhat/jsonmapper
================

json to php object

v0.9.0(5y ago)181MITPHPPHP ^7.4

Since Jan 13Pushed 5y ago1 watchersCompare

[ Source](https://github.com/fwhat/jsonmapper)[ Packagist](https://packagist.org/packages/fwhat/jsonmapper)[ Docs](https://github.com/fwhat/jsonmapper)[ RSS](/packages/fwhat-jsonmapper/feed)WikiDiscussions master Synced 4d ago

READMEChangelog (1)Dependencies (1)Versions (2)Used By (0)

Json to PHP Object Library
==========================

[](#json-to-php-object-library)

### 功能

[](#功能)

- 实现从json生成对应的php对象
- 支持对象嵌套
- 支持object\[\],object\[\]\[\] 多层级数组对象结构
- 提供Map类, 区分array与map

### 性能

[](#性能)

(JsonMapper 对象内置分析缓存, 一个进程内实例化一次效果最佳)

- 简单对象 可生成 150000w+/s
- 复杂对象 可生成 1w+/s

### 安装

[](#安装)

`composer require fwhat/jsonmapper`

### 使用示例

[](#使用示例)

- 其他使用示例可参考[单元测试](tests/JsonMapperTest.php)

```
use Fwhat\JsonMapper\JsonMapper;
class SetObject {
    public bool $bool;
    public int $int;
    public ?string $string = null;
    public array $arrayString;
    public array $arrayInt;
    public float $float;

    /**
     * @var array
     */
    public array $arrayWithDoc;

    public function setString (string $str) {
        $this->string = "from_set_".$str;
    }
}

$jsonStr = '{
  "bool": true,
  "int": 1,
  "string": "string",
  "arrayString": [
    "arrayString",
    "arrayString"
  ],
  "arrayInt": [
    "arrayInt",
    "arrayInt"
  ],
  "float": 1.23,
  "arrayWithDoc": ["arrayWithDoc"]
}';

$mapper = new JsonMapper;
$object = new SetObject();
$mapper->map($jsonStr, $object);
```

###  Health Score

21

—

LowBetter than 19% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community5

Small or concentrated contributor base

Maturity43

Maturing project, gaining track record

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

1946d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/2cd606afb6dc4f23bd436f9d264dd8182a11dd78b2137f05eb360abbe87a88cf?d=identicon)[Dowte](/maintainers/Dowte)

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/fwhat-jsonmapper/health.svg)

```
[![Health](https://phpackages.com/badges/fwhat-jsonmapper/health.svg)](https://phpackages.com/packages/fwhat-jsonmapper)
```

###  Alternatives

[spatie/invade

A PHP function to work with private properties and methods

34027.0M170](/packages/spatie-invade)[insenseanalytics/nova-bar-metrics

A Laravel Nova tool for bar chart metrics and frequency distributions.

41125.2k](/packages/insenseanalytics-nova-bar-metrics)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
