首页 > 解决方案 > 如何修改 Json 响应作为对象到数组?

问题描述

这是json响应:

{
    "level1": {
        "level2":
        {
            "name": "abc",
            "age": "19",
            "email": "abc@g.com",
            "gender": "Female",
            "dob": "7 june 1999",
            "add": "sdasdadas"
        }
        }
}

我想按以下方式转换 JSON 响应:

{
    "level1": {
        "level2":
        [{
            "name": "abc",
            "age": "19",
            "email": "abc@g.com",
            "gender": "Female",
            "dob": "7 june 1999",
            "add": "sdasdadas"
        }]
        }
}

我将我的 XML 响应转换为 JSON 格式并获取对象,如果我在 level2 中有一个用户详细信息,但我希望它在 level 2 的一个数组中,甚至有多个用户详细信息或单个用户详细信息..怎么可能?

标签: phpjson

解决方案


请按照评论中提到的@simonecosci尝试此代码。

$responseData ='{
    "level1": {
        "level2":
        {
            "name": "abc",
            "age": "19",
            "email": "abc@g.com",
            "gender": "Female",
            "dob": "7 june 1999",
            "add": "sdasdadas"
        }
        }
}';

$json = json_decode($responseData);
$json->level1->level2 = [$json->level1->level2];

echo '<pre>';
print_r(json_encode($json));
echo '</pre>';

预期输出:

{"level1":{"level2":[{"name":"abc","age":"19","email":"abc@g.com","gender":"Female","dob ":"1999 年 6 月 7 日","add":"sdasdadas"}]}}


推荐阅读