Заполните dataModel с json в php - PullRequest
0 голосов
/ 15 апреля 2020

Я пытаюсь преобразовать json в нужную мне модель, но у меня проблемы с эвольвентными jsons, например, мой json:

    {
    "user_profile": {
        "userpro": null,
        "lname": null,
        "gender": null,
        "gender_id": null,
        "location": {
            "province_id": null,
            "province": null,
            "city": null,
            "geoPoint": null
        },
        "contact": {
            "email": null,
            "phone": null,
            "tell": null,
            "telegram": null,
            "instagram": null
        },
        "gamePlayer": {
            "rank": null,
            "level": null,
            "score": null,
            "coins": null
        }
    },
    "user_account": {
        "username": "mthreat.info@gmail.com",
        "pass": "12345678"
    },
    "code": null
}

мой код для заполнения модели данных простым json

public function fromJSONToModel($data)
{
    foreach ($data as $key => $value) {
        if (property_exists($this, $key) && $value!=null) {
            $this->$key = $value;
        }
    }
    return $this;
}

Это переменные, которые я хочу заполнить

    protected bool $userPro = false;
    protected int $type = 0;
    protected String $lName;
    protected String $gender;
    protected int $gender_id;
    protected Location $location;
    protected UserContact $contact;
    protected GamePlayer $gamePlayer;
    .
    .
    .
    get...()
    set...()

Местоположение, UserContact, GamePlayer - другая модель данных

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...