解码两个使用SQL,PHP或JS通过ws_concat(mysql)连接的JSON字符串

时间:2017-10-24 10:20:42

标签: php mysql sql json

这里有一些“可能会问不可能”的问题,所以我会尽力简化。

我在mysql DB中有以下表/列:

*users*
first_name
last_name

在我的应用程序中检索这些列,我运行SQL语句如下:

SELECT ws_concat(user.first_name, user.last_name) as author
FROM users;

(我必须使用原始SQL运行查询以推送到ES目的)

然后,我可以访问PHP中的结果,这是预期的。

如果first_name和last_name存储为JSON值,则生成的作者字段将如下所示:

{   作者:“”Ryan“”H“” }

我需要在多个视图中正确显示此名称。

我如何JSON解码两个连接的JSON字符串?

理想情况下,我想在SQL级别实现,但我认为它不可能在查询中完成?那么我怎样才能用PHP或JS实现这个目标呢?

由于

示例:

first_name: "RYÁÑ"
last_name: "HÁd"

存储在用户表中。

通过此查询检索

SELECT ws_concat(user.first_name, user.last_name) as author
FROM users;

将返回以下内容:

{ author: ""RYÁÑ" ""HÁd"" }

作者需要在以下视图中显示:

RYÁÑHÁd

1 个答案:

答案 0 :(得分:0)

答案很简单。

检索如下名称: -

SELECT users.first_name as first_name, users.last_name as last_name
FROM users;

然后JSON分别解码名称的每个部分,并将解码后的值连接在一起,并在查询完成后分配作者属性,然后发送数据以查看并按预期显示。