因?yàn)楣ぷ餍枰?才接觸redis及相關(guān) 結(jié)果出現(xiàn)下面這種情況:部分代碼如下$newsRedis = Redis::get('news_'.$id); if ($newsRedis) return $newsRedis; $re = NewNotice::select('community', 'title', 'created_at', 'content', 'initiator', 'img')->where('id', '=', $id)->get(); $change = NewNotice::where('id', '=', $id)->update([ 'state' => '1' ]); if (!$change) return 'NOTICE_ERROR';// dd($change); Redis::set('news_'.$id,$re); Redis::expire('news_'.$id,10); return $re;
}結(jié)果發(fā)現(xiàn)結(jié)果每個(gè)符號(hào)前多了轉(zhuǎn)義斜杠下面這個(gè)是我直接對(duì)return $re的結(jié)果請(qǐng)問(wèn)為何會(huì)出現(xiàn)這種情況呢? 如何才能不轉(zhuǎn)義呢
2 回答

滄海一幻覺(jué)
TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超5個(gè)贊
這個(gè)轉(zhuǎn)義是正常的。是json的原因,json要求鍵值都需要用雙引號(hào)"
括起來(lái)的,值中包含雙引號(hào)自然需要轉(zhuǎn)義了。你dd($change->datas)
就不會(huì)有斜杠了。實(shí)在不想看到雙引號(hào),可以先url_encode,使用的時(shí)候再url_decode,不過(guò)沒(méi)有必要。

一只名叫tom的貓
TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超3個(gè)贊
你取出來(lái),先 json_decode
后在封裝數(shù)據(jù)輸出給前端。
你這個(gè)轉(zhuǎn)義,就是因?yàn)楸?nbsp;json_encode
了兩次。
你存在Redis
中的是JSON
字符串了,你直接拿出來(lái),放給數(shù)據(jù)里,又進(jìn)行 json_encode
一次,所以出現(xiàn)這樣是正常的。
- 2 回答
- 0 關(guān)注
- 3431 瀏覽
添加回答
舉報(bào)
0/150
提交
取消