0

我知道这个问题已经被问了好几次了,我已经看到了答案,但它已经对我有很大帮助,但我需要解决一个与此相关的问题。所以问题是:我需要用 php 构建 json 文件。我需要的 json 文件如下所示:

{
"fashion":[
{
        "alt":"Alisa",
        "src":"img/fashion/Alisa/kubik.jpg",
        "class":"albumItem",
        "id":"FashionAlbum001",
        "itemNum":0,
        "album":[
            {
                "alt":"albumImg1",
                "src":"img/fashion/Alisa/alisa1.jpg"
            },
            {
                "alt":"albumImg1",
                "src":"img/fashion/Alisa/alisa5.jpg"
            },
            {
                "alt":"albumImg1",
                "src":"img/fashion/Alisa/alisa7.jpg"
            }
        ]
    },
    {
        "alt":"2-Addis",
        "src":"img/fashion/2-Addis/kubik.jpg",
        "class":"albumItem",
        "id":"FashionAlbum002",
        "itemNum":1,
        "album":[
            {
                "alt":"albumImg1",
                "src":"img/fashion/2-Addis/addis1.jpg"
            },
            {
                "alt":"albumImg4",
                "src":"img/fashion/2-Addis/addis4.jpg"
            }] } ] }

等等...我不知道如何在每个相册中制作图像列表 这是一个 php 函数

function buildJson(){
$json = json_encode(array(
     "Fashion" => array(
        "alt" => "Alisa",
        "src" => "img/fashion/Alisa/kubik.jpg",
        "id" => "FashionAlbum001",
        "itemNum"=>"1",
        "album"=>array(
            "src"=>"img/fashion/Alisa/alisa1.jpg",        
        ),
        array(
            "src"=>"img/fashion/Alisa/alisa5.jpg",        
        ),
        array(
            "src"=>"img/fashion/Alisa/alisa7.jpg",        
        ),

     )
));

echo $json;

但我得到这样的json:

{
"Fashion": {
    "0": {
        "src": "img/fashion/Alisa/alisa2.jpg"
    },
    "1": {
        "src": "img/fashion/Alisa/alisa3.jpg"
    },
    "alt": "Alisa",
    "src": "img/fashion/Alisa/kubik.jpg",
    "id": "FashionAlbum001",
    "itemNum": "0",
    "album": {
        "src": "img/fashion/Alisa/alisa1.jpg"
    }
}

}

怎么可能修复它?谢谢!

4

2 回答 2

2

请多加注意您正在编写的代码:) 尝试解码正确版本的 json 文件并将其与您编写的文件进行比较。您应该看到一些差异。

您的问题是album密钥之后的问题。您正在为数组分配只有一个值,而不是分配数组数组。

这是要走的路:

"album" => array(
    array("src" => "img/fashion/Alisa/alisa1.jpg"),
    array("src" => "img/fashion/Alisa/alisa5.jpg"),
    array("src" => "img/fashion/Alisa/alisa7.jpg"),
),
于 2013-10-03T11:31:36.893 回答
0

you trouble in nesting album array

fixed code

function buildJson(){
        $json = json_encode(
            array(
                 "Fashion" => array(
                     "alt" => "Alisa",
                     "src" => "img/fashion/Alisa/kubik.jpg",
                     "id" => "FashionAlbum001",
                     "itemNum"=>"1",

                     // nesting error here

                     "album"=> array(
                         array("src"=>"img/fashion/Alisa/alisa1.jpg"),
                         array("src"=>"img/fashion/Alisa/alisa5.jpg"),
                         array("src"=>"img/fashion/Alisa/alisa7.jpg")

                     )
                 )
            )
        );

        echo $json;
    }
于 2013-10-03T11:31:07.157 回答