当前位置: 首页 > 面试题库 >

如何在MySQL中将结果表转换为JSON数组

葛意远
2023-03-14
问题内容

我想仅使用简单的MySQL命令将结果表转换为MySQL中的JSON数组。例如查询

SELECT name, phone FROM person;

| name | phone |
| Jack | 12345 |
| John | 23455 |

预期的JSON输出为

[
  {
    "name": "Jack",
    "phone": 12345
  },
  {
    "name": "John",
    "phone": 23455
  }
]

有没有办法在普通的MySQL中做到这一点?

编辑:

有一些答案,例如如何使用MySQL和PHP做到这一点,但我找不到纯MySQL解决方案。


问题答案:

新解决方案:

使用您的精彩评论构建,谢谢!

SELECT JSON_ARRAYAGG(JSON_OBJECT('name', name, 'phone', phone)) from Person;

旧解决方案:

在@Schwern的帮助下,我设法提出了这个查询,这似乎行得通!

SELECT CONCAT(
    '[', 
    GROUP_CONCAT(JSON_OBJECT('name', name, 'phone', phone)),
    ']'
) 
FROM person;


 类似资料:
  • 问题内容: 我有一个mysqli查询,我需要将其格式化为移动应用程序的JSON。 我已经设法为查询结果生成一个XML文档,但是我正在寻找更轻量的东西。(有关我当前的XML代码,请参见下文) 问题答案: 这样的输出: 如果您想要其他样式,可以尝试以下方法: 输出将是这样的:

  • 问题内容: 我想将结果数组转换为PHP中的JSON格式。这是我的代码: 我想转换为JSON格式并将JSON数据传递给jQuery插件。 问题答案: 在php> 5.2.0中可用:

  • 我正在尝试实现REST API,其中一部分是将数据格式化为JSON。我能够从mysql数据库中检索数据,但是我收到的对象并不是我所期望的。这是我的代码 结果: 如何实现返回如下所示的json格式:

  • 问题内容: 由于使用JDBC连接器进行MySQL查询,因此我有一个结果集。所以我的工作是将结果集转换为JSON格式。这样我就可以将其作为AJAX响应发送到客户端。有人可以解释一下如何转换为JSON格式,因为我对Java和JSON都是新手 问题答案: 许多人正确地回答了这个问题。但是,我认为我可以使用以下几小段代码为该帖子添加更多价值。它使用Apache-DBUtils和Gson库。

  • 我有以下代码,它从Marketo系统中获取一些数据 这将返回给我以下数据 我想做的是,保存这个返回到一个拼花文件。但是当我用下面的代码尝试时,我收到了一条错误消息。 我做错了什么?

  • 问题内容: 我从JavaScript进行$ getJSON调用得到以下结果。如何在JavaScript中将start属性转换为正确的日期? [{“ id”:1,“ start”:“ / Date(1238540400000)/”},{“ id”:2,“ start”:“ / Date(1238626800000)/”}] 谢谢! 问题答案: 您需要从字符串中提取数字,并将其传递给Date : 这些