json响应的额外斜杠

时间:2017-03-26 07:24:59

标签: php json rest yii2

在数据库上:{ "email", "color" }

但是当我尝试使用application/json' => \yii\web\Response::FORMAT_JSON输出它时,该字符串包含额外的斜杠

[
      "Verify",
      "{ \"email\", \"color\" }"
    ]

我知道我可以使用replace(),但有人可以在这种情况下启发我吗?

3 个答案:

答案 0 :(得分:1)

@webDav几乎有正确的答案。

您似乎正在将数据库中的数据合并到另一个数据结构中。因此,您需要先从数据库中解析JSON,然后在再次编码之前将数据包含在数据中。

您没有从数据库中检索原始字符串(类似于JSON),但它是一个需要转换为JSON才能具有意义的字符串。

答案 1 :(得分:1)

编码添加斜杠以防止不正确的引号序列破坏内容的正确使用

你在yoru案件中的大幅削减

  "{ "email", "color" }"  // that is not correctly formateed 

你已经在数据库中引用了你的价值..你的数据已经是json格式所以你可以使用不带编码

答案 2 :(得分:0)

在我看来,您正在尝试编码已经json编码的数据。

结果它逃脱了角色。

您有两个选择:

  1. 不要再将其格式化为JSON
  2. 在返回
  3. 之前使用json_decode()解码数据

    如果你需要追加或组合json数据,那么#2是你唯一的选择