如何在 Laravel 中使用 eloquent 而不使用 \r\n return json 响应
How to return json response in Laravel using eloquent without \r\n
我将 laravel 与 eloquent 一起使用,在 json 响应中我得到 \r\n。我怎样才能摆脱它们?
public function showOneProduct($lng)
{
return response()->json(Product::where('language', $lng)->get());
}
回复:
[
{
"id_produs": 1,
"produs": " [\r\n {\r\n \"product_line\": \"TankTorq Line\",\r\n \"colors\": [\r\n \"#D66732\",\r\n \"#000000\",\r\n \"#909090\",\r\n \"#E0E0E0\"\r\n ],\r\n \"max_speed\": \"46 km/h\",\r\n \"range\": \"up to 40 km\",\r\n \"weight\": \"13.2 kg\",\r\n \"engine\": \"700W\",\r\n \"nominalPower\": \"700W\",\r\n \"nominalContinuousPower\": \"500W\",\r\n \"line_image\": \"https://worldconnect.me/images/tanktork.png\",\r\n \"products\": [\r\n {\r\n \"name\": \"TK2\",\r\n \"scooter_features\": [\r\n {\r\n \"title\": \"Dual motor technology\",\r\n ]",
"language": "en"
}
]
您正在将 produs
列保存为 JSON,
因此您可以使用 accessor 将其检索为数组而不是 JSON
public function getProdusAttribute($value) {
return json_decode($value,true);
}
如果您仍然想通过删除 \r\n 来检索它
你可以使用 preg_replace ,它会成功
public function getProdusAttribute($value) {
return preg_replace("!\r?\n!", "", $value);
}
你应该使用:
public function showOneProduct($lng)
{
return response()->json( json_decode( json_encode( Product::where('language', $lng)->get() ), true ) );
}
也许会有帮助
我将 laravel 与 eloquent 一起使用,在 json 响应中我得到 \r\n。我怎样才能摆脱它们?
public function showOneProduct($lng)
{
return response()->json(Product::where('language', $lng)->get());
}
回复:
[
{
"id_produs": 1,
"produs": " [\r\n {\r\n \"product_line\": \"TankTorq Line\",\r\n \"colors\": [\r\n \"#D66732\",\r\n \"#000000\",\r\n \"#909090\",\r\n \"#E0E0E0\"\r\n ],\r\n \"max_speed\": \"46 km/h\",\r\n \"range\": \"up to 40 km\",\r\n \"weight\": \"13.2 kg\",\r\n \"engine\": \"700W\",\r\n \"nominalPower\": \"700W\",\r\n \"nominalContinuousPower\": \"500W\",\r\n \"line_image\": \"https://worldconnect.me/images/tanktork.png\",\r\n \"products\": [\r\n {\r\n \"name\": \"TK2\",\r\n \"scooter_features\": [\r\n {\r\n \"title\": \"Dual motor technology\",\r\n ]",
"language": "en"
}
]
您正在将 produs
列保存为 JSON,
因此您可以使用 accessor 将其检索为数组而不是 JSON
public function getProdusAttribute($value) {
return json_decode($value,true);
}
如果您仍然想通过删除 \r\n 来检索它 你可以使用 preg_replace ,它会成功
public function getProdusAttribute($value) {
return preg_replace("!\r?\n!", "", $value);
}
你应该使用:
public function showOneProduct($lng)
{
return response()->json( json_decode( json_encode( Product::where('language', $lng)->get() ), true ) );
}
也许会有帮助