我将数据存储在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格式?以及如何做? 谢谢。
答案 0 :(得分:0)
由于它是一个字符串,因此必须通过json_decode解析(map_settings)。
答案 1 :(得分:0)
您可以使用laravel attribute casting并将json转换为数组,然后将其与response json函数配合使用即可。