在 php/laravel 中设置 json 格式的名称

如何在 laravel 中将名称设置为 JSON 对象,因为我想在 Vue js 中为图片库显示插件。每当我传递数据时,我都会收到此错误:预期对象,得到数组。


{

  "normal_size": [

    {

      "id": 1,

      "image": "MICMIMC30651-6.jpg",

      "url": "http://localhost:8000/images/product/preview/MICMIMC30651-6.jpg"

    },

    {

      "id": 2,

      "image": "MICMIMC30651-61.jpg",

      "url": "http://localhost:8000/images/product/preview/MICMIMC30651-61.jpg"

    },

    {

      "id": 3,

      "image": "MICMIMC30651-62.jpg",

      "url": "http://localhost:8000/images/product/preview/MICMIMC30651-62.jpg"

    },

    {

      "id": 4,

      "image": "MICMIMC30651-63.jpg",

      "url": "http://localhost:8000/images/product/preview/MICMIMC30651-63.jpg"

    }

  ]


}

我想要的输出: 

image : {

  "normal_size": [

    {

      "id": 1,

      "image": "MICMIMC30651-6.jpg",

      "url": "http://localhost:8000/images/product/preview/MICMIMC30651-6.jpg"

    },

    {

      "id": 2,

      "image": "MICMIMC30651-61.jpg",

      "url": "http://localhost:8000/images/product/preview/MICMIMC30651-61.jpg"

    },

    {

      "id": 3,

      "image": "MICMIMC30651-62.jpg",

      "url": "http://localhost:8000/images/product/preview/MICMIMC30651-62.jpg"

    },

    {

      "id": 4,

      "image": "MICMIMC30651-63.jpg",

      "url": "http://localhost:8000/images/product/preview/MICMIMC30651-63.jpg"

    }

  ]


}

`


Laravel 产品控制器代码将数据传递给 vue 组件

 $normal_size = DB::table('products_images')->where([['products_id', '=', $product]])

        ->select('products_images.id','products_images.image')

        ->get()->ToArray();


foreach($normal_size as $value)

        {

            $value->url = 'http://localhost:8000/images/product/preview/'.$value->image;

        }

$output = (array('normal_size' => $normal_size));

return response()->json(($output));


回首忆惘然
浏览 164回答 2
2回答

largeQ

解决方案:只需在发送前调整输出格式。$output= ['image' => json_decode($data)];或者$output= array("image" => json_decode($data));

函数式编程

解码您的 JSON 以转换数组。格式化所需的数组结构并将数组编码为 JSON。$data = '{  "normal_size": [    {      "id": 1,      "image": "MICMIMC30651-6.jpg",      "url": "http://localhost:8000/images/product/preview/MICMIMC30651-6.jpg"    },    {      "id": 2,      "image": "MICMIMC30651-61.jpg",      "url": "http://localhost:8000/images/product/preview/MICMIMC30651-61.jpg"    },    {      "id": 3,      "image": "MICMIMC30651-62.jpg",      "url": "http://localhost:8000/images/product/preview/MICMIMC30651-62.jpg"    },    {      "id": 4,      "image": "MICMIMC30651-63.jpg",      "url": "http://localhost:8000/images/product/preview/MICMIMC30651-63.jpg"    }  ]}';$output = json_encode(['image' => json_decode($data, true)]);echo $output;工作演示。
打开App,查看更多内容
随时随地看视频慕课网APP