为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
回首忆惘然 2021-11-05 20:04:27
如何在 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));
查看完整描述

2 回答

?
largeQ

TA贡献2039条经验 获得超7个赞

解决方案:

只需在发送前调整输出格式。

$output= ['image' => json_decode($data)];

或者

$output= array("image" => json_decode($data));


查看完整回答
反对 回复 2021-11-05
?
函数式编程

TA贡献1807条经验 获得超9个赞

解码您的 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;

工作演示。


查看完整回答
反对 回复 2021-11-05
  • 2 回答
  • 0 关注
  • 163 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信