Home >Backend Development >PHP Tutorial >关于json的解析问题

关于json的解析问题

WBOY
WBOYOriginal
2016-06-23 13:36:10935browse

$id = $this->input->post('program_id');
$related_change = json_decode($this->input->post('related_change'));
$data = array(
            'user_key'        => $related_change('user_key'),
'channel_id'   => $related_change('channel_id'),
'date'   => $related_change('date'),
'program'         => array(
'name' => $related_change->('program_name'),
'type'        => $related_change('program_type'),
'start_time'  => date('Y-m-d H:i:s', $related_change('program_start_timestamp')),
'end_time'    => date('Y-m-d H:i:s', $related_change('program_end_timestamp')),
'duration'    => (int)$related_change('program_end_timestamp') - (int)$related_change('program_start_timestamp'),
'source_duration' => time_to_sec($related_change('program_original_duration')),
'source_type' => (string)$related_change('src_type'),
'source_start_ts' => $related_change('src_start_time')
 'uri'        => (string)$related_change('program_uri'),  
                                   )
        );



这一块数据是解析的不对的

它们不是从 $thi->input->post 里面出来的, 而是从 $related_change 里面来的

该怎么写?


回复讨论(解决方案)

你打印 $this->input->post('related_change')这个出来看看啥就知道了。。。。

应该是传过来json串有问题

$related_change = json_decode($this->input->post('related_change'), true);$data = array(    'user_key'    => $related_change['user_key'],	'channel_id'  => $related_change['channel_id'],	'date'   	  => $related_change['date'],	'program'  => array(		'name' => $related_change['program_name'],		'type'        => $related_change['program_type'],		'start_time'  => date('Y-m-d H:i:s', $related_change['program_start_timestamp']),		'end_time'    => date('Y-m-d H:i:s', $related_change['program_end_timestamp']),		'duration'    => (int)$related_change['program_end_timestamp'] - (int)$related_change['program_start_timestamp'],		'source_duration' => time_to_sec($related_change['program_original_duration']),		'source_type' => (string)$related_change['src_type'],		'source_start_ts' => $related_change['src_start_time'],		'uri'        => (string)$related_change['program_uri'],      ));

json_decode() 第二个参数没设置成TRUE的时候是返回对象的,对象应该用 $related_change->user_key 来访问。或者就传入第二个参数为TRUE,以数组形式访问。像3楼那样写。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn