MySQL结果集中的JSON_对象与JSON_数组

MySQL结果集中的JSON_对象与JSON_数组,mysql,arrays,json,Mysql,Arrays,Json,我试图从MySQL获取JSON格式的结果集。据我所知,MySQL能够将整个结果集设置为: JSON\u对象 JSON\u数组 我的问题: 返回结果集通常采用哪种格式?作为JSON_数组,或者首先使用JSON_对象将其包装?经过一些探索,我得出了一个结论,即由于DB引擎返回一组结果,其中可能包含0+个元素,因此返回数组比返回对象更直观,其中已包含一个项目数组 除此之外,由于结果集可能包含多个项,因此我们将被迫使用数组。因此,如果我们决定返回一个JSON_对象,我们必须用一些服务属性包装一个结果

我试图从MySQL获取JSON格式的结果集。据我所知,MySQL能够将整个结果集设置为:

  • JSON\u对象
  • JSON\u数组
我的问题:

返回结果集通常采用哪种格式?作为
JSON_数组
,或者首先使用
JSON_对象
将其包装?

经过一些探索,我得出了一个结论,即由于DB引擎返回一组结果,其中可能包含0+个元素,因此返回数组比返回对象更直观,其中已包含一个项目数组

除此之外,由于结果集可能包含多个项,因此我们将被迫使用数组。因此,如果我们决定返回一个
JSON_对象
,我们必须用一些服务属性包装一个结果集/数组,这会在访问数据时添加额外的getter调用,例如:

{
“结果”:[……]
}

经过一番探索,我得出了一个结论,即由于DB引擎返回一组结果,其中可能包含0+个元素,因此更直观/更期望返回一个数组,而不是一个对象,因为它已经包含一个项目数组

除此之外,由于结果集可能包含多个项,因此我们将被迫使用数组。因此,如果我们决定返回一个
JSON_对象
,我们必须用一些服务属性包装一个结果集/数组,这会在访问数据时添加额外的getter调用,例如:

{
“结果”:[……]
}

从两端(数据库和调用方)的性能角度来看,没有太大区别。因此,我想这取决于您个人的偏好。JSON_数组将返回带有编号索引的数据,因此您必须以$data[0]、$data[1]等形式访问数据。JSON_对象将返回带有键值对的关联数组。这取决于您需要哪个用例。从两端(数据库和调用方)的性能角度来看,没有太大区别。因此,我想这取决于您个人的偏好。JSON_数组将返回带有编号索引的数据,因此您必须以$data[0]、$data[1]等形式访问数据。JSON_对象将返回带有键值对的关联数组。这取决于您需要哪一个用例。