Laravel-当一列为json格式时从DB作为json检索行

时间:2018-08-19 05:49:43

标签: json laravel

我将数据存储在DB中,其中一列将数据保留为json格式。 当我尝试将行和响应作为json检索时,我将该列作为字符串而不是json对象。

数据库:

  

id |名称| map_id | map_settings | created_at

     

1 |欧洲| 2 | {“ zoom”:7,“ minZoom”:5,“ maxZoom”:9,“ zoomControl”:true,“ disableDefaultUI”:true,“ center”:“ new google.maps.LatLng(51.954422144707960,19.140930175781250)”} | 2018-08-19 05:19:50

PHP

template<typename A>
void myClass<A>::create( list_of_parameters) {
A(list_of_parameters) /*calls the constructor of the template class A */
}

结果

$mapConfig = MapConfig::with(['places'])->where(['id'=>$id])->get();
    return response()->json($mapConfig);

为什么map_settings不是正确的JSON格式?以及如何做? 谢谢。

2 个答案:

答案 0 :(得分:0)

由于它是一个字符串,因此必须通过json_decode解析(map_settings)。

答案 1 :(得分:0)

您可以使用laravel attribute casting并将json转换为数组,然后将其与response json函数配合使用即可。