我正在使用挂钩到PostgresQL数据库的Yii2模型。我有一个行为,可以将此模型的某些属性编码和解码到json。要进行编码/解码,我使用的是Json助手,Json::encode
和Json::decode
方法。
表中的列是json类型。最终在数据库中的一个例子:
"{\"additional_tags\":[\"#здрасте\",\"#кафе\"],\"vk\":\"vk.com\\\/privetik\"}"
当我尝试将其解码回php阵列时,请回答以下内容:
'{"additional_tags":["#здрасте","#кафе"],"vk":"vk.com\/privetik"}'
编辑:想想看,字符串看起来很好,但::decode
方法的行为很奇怪。基本上,它所做的就是删除转义斜杠,而不是将其转换为php数组或抛出异常。
我该怎么做才能解决这个问题?感谢任何反馈。
答案 0 :(得分:1)
看起来数据库中的字符串被编码两次。尝试再次通过Json::decode
,我打赌它会返回你的数组。