首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获取json格式的array_push数据集?

如何获取json格式的array_push数据集?
EN

Stack Overflow用户
提问于 2015-11-12 19:35:07
回答 1查看 147关注 0票数 0

这是我从数据库绑定的rest apis数据,它是使用数组表示法绑定的数据。

代码语言:javascript
复制
        $result = array('status' => "Success");                    
        $result['data']['skill'] = array();
            foreach($skill->processApi('user_skills',true) as $row_data){                         
                    array_push($result['data']['skill'],$row_data);                        
            }

        $result['data']['user_projects'] = array();
            foreach($project->processApi('user_projects',true) as $row_data){                         
                    array_push($result['data']['user_projects'],$row_data);                        
            }

        $result['data']['user_experience'] = array();
            foreach($experience->processApi('user_experience',true) as $row_data){                         
                    array_push($result['data']['user_experience'],$row_data);                        
            }

        $result['data']['user_education'] = array();
            foreach($education->processApi('user_education',true) as $row_data){                         
                    array_push($result['data']['user_education'],$row_data);                        
            }

        $result['data']['user_basic_details'] = array();
            foreach($basic_info->processApi('user_basic_details',true) as $row_data){                         
                    array_push($result['data']['user_basic_details'],$row_data);                        
            }

        $result['data']['user_contact_details'] = array();
            foreach($contact_info->processApi('user_contact_details',true) as $row_data){                         
                    array_push($result['data']['user_contact_details'],$row_data);                        
            }

        $this->response($this->json($result), 200);

由于php中的array_push方法,它给出的json数据如下图所示,包含数组符号(,)。

代码语言:javascript
复制
{
  "status": "Success",
  "data": {
    "skill": [
      {
        "skill_id": "2",
        "skill_title": "Sports"
      }
    ],
    "user_projects": [
      {
        "project_title": "workless",
        "project_id": "1",
        "date_start": "2015-08-28",
        "date_end": "2016-01-23",
        "project_description": "online recruitment service",
        "is_ongoing": "1"
      }
    ],
    "user_experience": [
      {
        "experience_id": "5",
        "job_title": "Software Engineer",
        "job_des": "Currently developing a data locality aware virtual machine placement strategy in cloud based Hadoop deployments. ResponsibilitiesReview and research on large-scale data processing platforms, data analytic tools and algorithms, streaming process, and data management",
        "company_name": "Schrdinger",
        "date_start": "2015-08-28",
        "date_end": "2016-01-23",
        "current_work": "1"
      }
    ],
    "user_education": [
      {
        "coun_name": "Afghanistan",
        "uni_title": "UOR",
        "uni_logo": null,
        "school": "DS School",
        "grade": "12",
        "description": "Science Stream",
        "field_studied": "field_studied",
        "added_date": "2015-09-05 14:00:03",
        "date_start": "2015-08-28",
        "date_end": "2016-02-23",
        "degree": "Computer Science"
      }
    ],
    "user_basic_details": [
      {
        "basic_details": "With degree and 2 years experiences.",
        "user_fname": "Mohamed",
        "user_sname": "Nifras",
        "user_im": "nifrasbcs",
        "bday": "1991-12-29",
        "gender": "1",
        "marital_status": "1"
      }
    ],
    "user_contact_details": [
      {
        "user_email": "nifrasnx@yahoo.com",
        "user_address_1": "No 32, New Market Road",
        "user_address_2": "Oddamavadi-01",
        "user_im": "nifrasbcs",
        "phone_mobile": "752786188",
        "phone_land": "652257153"
      }
    ]
  }
}

如何在没有数组(,)表示法的情况下获取json数据,就像这样

代码语言:javascript
复制
{
  "status": "Success",
  "data": {
    "skill": 
      {
        "skill_id": "2",
        "skill_title": "Sports"
      }
    ,
    "user_projects": 
      {
        "project_title": "workless",
        "project_id": "1",
        "date_start": "2015-08-28",
        "date_end": "2016-01-23",
        "project_description": "online recruitment service",
        "is_ongoing": "1"
      }
    ,
    "user_experience": 
      {
        "experience_id": "5",
        "job_title": "Software Engineer",
        "job_des": "Currently developing a data locality aware virtual machine placement strategy in cloud based Hadoop deployments. ResponsibilitiesReview and research on large-scale data processing platforms, data analytic tools and algorithms, streaming process, and data management",
        "company_name": "Schrdinger",
        "date_start": "2015-08-28",
        "date_end": "2016-01-23",
        "current_work": "1"
      }
    ,
    "user_education": 
      {
        "coun_name": "Afghanistan",
        "uni_title": "UOR",
        "uni_logo": null,
        "school": "DS School",
        "grade": "12",
        "description": "Science Stream",
        "field_studied": "field_studied",
        "added_date": "2015-09-05 14:00:03",
        "date_start": "2015-08-28",
        "date_end": "2016-02-23",
        "degree": "Computer Science"
      }
    ,
    "user_basic_details": 
      {
        "basic_details": "With degree and 2 years experiences.",
        "user_fname": "Mohamed",
        "user_sname": "Nifras",
        "user_im": "nifrasbcs",
        "bday": "1991-12-29",
        "gender": "1",
        "marital_status": "1"
      }
    ,
    "user_contact_details": 
      {
        "user_email": "nifrasnx@yahoo.com",
        "user_address_1": "No 32, New Market Road",
        "user_address_2": "Oddamavadi-01",
        "user_im": "nifrasbcs",
        "phone_mobile": "752786188",
        "phone_land": "652257153"
      }

  }
}

如何实现,请帮帮忙?

EN

回答 1

Stack Overflow用户

发布于 2015-11-12 19:53:12

在JSON中,语法{}表示一个类,而[]表示一个数组,所以如果你想创建你想要的结果,你需要首先在一个合适的对象中创建数据,即一个类或数组。

您可以简单地使用PHP stdClass()创建一个类,作为开始,您可以这样做

代码语言:javascript
复制
$result = new stdClass();

$result->status = 'success';

$result->data = new stdClass();

$result->data->skill = array();
foreach($skill->processApi('user_skills',true) as $row_data) {                         
    $result->data->skill[] = $row_data;
}

$result->data->user_projects = array();
foreach($project->processApi('user_projects',true) as $row_data) {                         
    $result->data->user_projects[] = $row_data;
 }

. . .

. . .

$this->response($this->json($result), 200);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33670525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档