在PHP中格式化JSON对象

用户名

所以我有以下两个sql查询,并且我试图构建一个JSON对象供我的Angular前端使用。

$getCompDetails = mysql_query("SELECT *
            FROM competitions c
            WHERE c.competitionId = '$competitionId'") or die("Couldn't select competition details");

$compDetailsArr = array();
while ($row = mysql_fetch_array($getCompDetails,MYSQL_ASSOC)){
    array_push($compDetailsArr,$row);
}

$getCompUsers = mysql_query("SELECT c.userid, u.name, u.profilePic FROM competitionmembers c INNER JOIN users1 u ON  u.id = c.userid WHERE competitionid = '$competitionId'") or die("Couldn't select competitions users");

$compUsersArr = array();
while ($row = mysql_fetch_array($getCompUsers,MYSQL_ASSOC)){
    array_push($compUsersArr,$row);
}

$getUsrActs = mysql_query("SELECT activity_typeid, userid, time, activity_weight, activityname
FROM activity_entries
WHERE competitionid = '$competitionId'") or die("Couldn't select activities");

$userActArr = array();
while ($row = mysql_fetch_array($getUsrActs,MYSQL_ASSOC)){
    array_push($userActArr,$row);
}

$compDetailsArr["users"] = $compUsersArr;
$compDetailsArr["users"]["activities"] = $userActArr;
echo json_encode($compDetailsArr);

结果如下:

{
"0": {
    "id": "3371",
    "organisationId": "524bd7c65fd60",
    "competitionId": "52a99783c5d6f",
    "name": "Nordic Challenge",
    "start_date": "2013-12-12",
    "end_date": "2014-05-24",
    "createdby": "531",
    "about": "asdasd",
    "prize": "",
    "prizeImage": "",
    "compCreatedTime": "2013-12-12 11:01:25"
},
"users": {
    "0": {
        "userid": "531",
        "name": "Jane Wilson",
        "profilePic": "A4cMVn-yxQu4fLrpGU7_wwWfbFmAWlt40yS31gv1bTc.png"
    },
    "1": {
        "userid": "1",
        "name": "James Pember",
        "profilePic": "fighter-1.jpg"
    },
    "2": {
        "userid": "1061",
        "name": "Olof Petersson",
        "profilePic": ""
    },
    "3": {
        "userid": "1071",
        "name": "Lars Petersen",
        "profilePic": ""
    },
    "4": {
        "userid": "1081",
        "name": "Mark Johnson",
        "profilePic": ""
    },
    "5": {
        "userid": "971",
        "name": "676",
        "profilePic": "784322701.jpg"
    },
    "activities": [
        {
            "activity_typeid": "12251",
            "userid": "531",
            "time": "2013-12-12 11:01:43",
            "activity_weight": "10",
            "activityname": "Booked"
        },
        {
            "activity_typeid": "12261",
            "userid": "1061",
            "time": "2013-12-12 11:05:44",
            "activity_weight": "15",
            "activityname": "Conducted"
        },
        {
            "activity_typeid": "12271",
            "userid": "1071",
            "time": "2013-12-12 11:06:46",
            "activity_weight": "50",
            "activityname": "Deal"
        },
        {
            "activity_typeid": "12251",
            "userid": "1081",
            "time": "2013-12-12 11:07:45",
            "activity_weight": "10",
            "activityname": "Booked"
        },
        {
            "activity_typeid": "12261",
            "userid": "531",
            "time": "2013-12-12 11:10:38",
            "activity_weight": "15",
            "activityname": "Conducted"
        },
        {
            "activity_typeid": "12271",
            "userid": "531",
            "time": "2013-12-12 16:17:02",
            "activity_weight": "50",
            "activityname": "Deal"
        },
        {
            "activity_typeid": "12271",
            "userid": "1",
            "time": "2013-12-27 10:17:30",
            "activity_weight": "50",
            "activityname": "Deal"
        },
        {
            "activity_typeid": "12261",
            "userid": "1",
            "time": "2014-01-08 17:12:30",
            "activity_weight": "15",
            "activityname": "Conducted"
        },
        {
            "activity_typeid": "12251",
            "userid": "1",
            "time": "2014-01-08 18:41:03",
            "activity_weight": "10",
            "activityname": "Booked"
        },
        {
            "activity_typeid": "12271",
            "userid": "971",
            "time": "2014-01-08 18:43:50",
            "activity_weight": "50",
            "activityname": "Deal"
        },
        {
            "activity_typeid": "12261",
            "userid": "1",
            "time": "2014-01-08 18:44:10",
            "activity_weight": "15",
            "activityname": "Conducted"
        },
        {
            "activity_typeid": "12251",
            "userid": "1",
            "time": "2014-01-08 18:50:02",
            "activity_weight": "10",
            "activityname": "Booked"
        },
        {
            "activity_typeid": "12251",
            "userid": "1",
            "time": "2014-01-08 18:50:40",
            "activity_weight": "10",
            "activityname": "Booked"
        },
        {
            "activity_typeid": "12261",
            "userid": "1",
            "time": "2014-01-08 18:58:02",
            "activity_weight": "15",
            "activityname": "Conducted"
        },
        {
            "activity_typeid": "12251",
            "userid": "1",
            "time": "2014-01-09 13:02:25",
            "activity_weight": "10",
            "activityname": "Booked"
        },
        {
            "activity_typeid": "12251",
            "userid": "971",
            "time": "2014-01-09 13:03:16",
            "activity_weight": "10",
            "activityname": "Booked"
        },
        {
            "activity_typeid": "12261",
            "userid": "1",
            "time": "2014-01-10 09:40:59",
            "activity_weight": "15",
            "activityname": "Conducted"
        },
        {
            "activity_typeid": "12261",
            "userid": "1",
            "time": "2014-01-10 09:41:03",
            "activity_weight": "15",
            "activityname": "Conducted"
        },
        {
            "activity_typeid": "12251",
            "userid": "1",
            "time": "2014-01-24 13:00:56",
            "activity_weight": "10",
            "activityname": "Booked"
        },
        {
            "activity_typeid": "12261",
            "userid": "1",
            "time": "2014-01-24 13:01:01",
            "activity_weight": "15",
            "activityname": "Conducted"
        },
        {
            "activity_typeid": "12251",
            "userid": "1",
            "time": "2014-01-24 13:01:27",
            "activity_weight": "10",
            "activityname": "Booked"
        },
        {
            "activity_typeid": "12251",
            "userid": "1",
            "time": "2014-01-27 13:04:04",
            "activity_weight": "10",
            "activityname": "Booked"
        },
        {
            "activity_typeid": "12251",
            "userid": "1",
            "time": "2014-01-30 15:23:24",
            "activity_weight": "10",
            "activityname": "Booked"
        },
        {
            "activity_typeid": "12251",
            "userid": "1",
            "time": "2014-01-30 15:42:37",
            "activity_weight": "10",
            "activityname": "Booked"
        },
        {
            "activity_typeid": "12251",
            "userid": "1",
            "time": "2014-01-30 19:31:27",
            "activity_weight": "12",
            "activityname": "Booked"
        },
        {
            "activity_typeid": "12251",
            "userid": "1",
            "time": "2014-01-30 19:31:44",
            "activity_weight": "12",
            "activityname": "Booked"
        },
        {
            "activity_typeid": "12251",
            "userid": "1",
            "time": "2014-02-07 14:25:32",
            "activity_weight": "12",
            "activityname": "Booked"
        },
        {
            "activity_typeid": "12251",
            "userid": "1",
            "time": "2014-02-10 12:41:16",
            "activity_weight": "12",
            "activityname": "Booked"
        },
        {
            "activity_typeid": "12251",
            "userid": "1",
            "time": "2014-02-10 12:41:51",
            "activity_weight": "12",
            "activityname": "Booked"
        },
        {
            "activity_typeid": "12251",
            "userid": "1",
            "time": "2014-02-24 15:01:33",
            "activity_weight": "12",
            "activityname": "Booked"
        },
        {
            "activity_typeid": "12251",
            "userid": "1",
            "time": "2014-02-28 07:19:12",
            "activity_weight": "12",
            "activityname": "Booked"
        }
    ]
}

}

这是理想的输出格式,每个用户都是单独的{}

{
    "organisationId": 1,
    "competitionId": "52eabcf0f3672",
    "currentUser": 2,
    "title": "Sales Hood Q1 Challenge",
    "end_date": "2014-03-01 00:00:00",
    "description": "This is it guys, challenge time!",
    "prizeImage": "placeholder.jpg",
    "prizeDescription": "Dinner for 2!",
    "users": [{
        "id": 2,
        "name": "John Wilson",
        "profilePic": "fighter-1.jpg",
          "activities" = [{
            "activity_typeid": 312,
            "activityname": Calls
            "activity_weight": 10
          },
          {
            "activity_typeid": 312,
            "activityname": Calls
            "activity_weight": 10
          }]
    }, {
        "id": 3,
        "name": "Robin Christoper",
        "profilePic": "fighter-3.jpg",
           "activities" = [{
            "activity_typeid": 312,
            "activityname": Calls
            "activity_weight": 10
          }]
    }, {
        "id": 1,
        "name": "Ronald Johnson",
        "profilePic": "placeholder.jpg",
           "activities" = [{
            "activity_typeid": 312,
            "activityname": Calls
            "activity_weight": 10
          }]
    }]
}

希望对此有所帮助!

hjpotter92

不要合并数组,而是嵌套它们:

$compDetailsArr['users'] = $compUsersArr
$json = json_encode($compDetailsArr);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在JSON对象中格式化此Date

来自分类Dev

在 PowerBI 中格式化 JSON

来自分类Dev

在PHP中格式化XML

来自分类Dev

使用php格式化json对象

来自分类Dev

如何格式化JSON对象PHP

来自分类Dev

在Python中格式化对象内的字典

来自分类Dev

在ajax.actionlink中格式化datetime对象

来自分类Dev

在 Javascript 中格式化

来自分类Dev

如何在Jmeter中格式化JSON响应?

来自分类Dev

在JSON中格式化“ true”的正确方法是什么?

来自分类Dev

在Scala中格式化JSON字符串

来自分类Dev

在JavaScript模板中格式化JSON日期

来自分类Dev

如何在Symfony中格式化JSON输出

来自分类Dev

在AngularJS变量中格式化并存储JSON日期

来自分类Dev

我该如何在angularjs中格式化json?

来自分类Dev

在Python中格式化JSON GET结果

来自分类Dev

如何在ReactJs中格式化JSON结构

来自分类Dev

如何在 javascript 中格式化 JSON 输出

来自分类Dev

如何在 Django 中格式化 json 响应?

来自分类Dev

在PHP中格式化MySQL日期时间

来自分类Dev

在PHP中格式化字符串

来自分类Dev

使用php代码在textarea中格式化文本

来自分类Dev

从PHP中格式化的纯文本中提取数据

来自分类Dev

如何在PHP中格式化数组

来自分类Dev

如何在php中格式化数字值?

来自分类Dev

如何在php中格式化小时?

来自分类Dev

使用msaccess和ODBC在PHP中格式化日期

来自分类Dev

在php中格式化csv(excel)单元格

来自分类Dev

如何在WordPress / PHP中格式化数组