0

我想在一个简单的 json 对象中转换一个复杂的数组。我知道如何将数组转换为 json (json_encode),但我的问题是如何将我的基本数组转换为以下 json 结构。

数组结构:

大批

json输出:

{
    "id": "1",
    "name": "Random Access Memories",
    "tracks": [
        {
            "id": 1,
            "name": "Get Lucky",
            "artists": [
                {
                    "id": 1,
                    "name": "Daft Punk"
                },
                {
                    "id": 2,
                    "name": "Pharrell Williams"
                }
            ]
        },
        {
            "id": 1,
            "name": "Touch",
            "artists": [
                {
                    "id": 1,
                    "name": "Daft Punk"
                }
            ]
        }
    ],
    "album_artists": [
        {
            "id": 1,
            "name": "Daft Punk"
        },
        {
            "id": 2,
            "name": "Pharrell Williams"
        }
    ]
}
4

1 回答 1

1

这不是特别好的做法,但我会遍历 OP 中显示的初始数组或图像,以获取一组曲目,然后使用专辑名称和专辑 ID 为 json 创建一个单独的数组曲目中的第一个元素,前提是所有专辑和专辑 ID 都相同。

$tracks = array();
$albumArtists = array();
foreach ($yourArrayNotAsAnImage as $track) {
    $tracks[] = $track;
    $albumArtists[] = array("name" => $track['artist_name'], "id" => $track['artist_id']);
}

$daftP = array("name" => $tracks[0]['album'], "id" => $tracks[0]['album_id'], "tracks" => $tracks, "album_artists" => $albumArtists);

echo json_encode($daftP);
于 2013-05-20T15:58:03.057 回答