【发布时间】:2017-08-11 11:53:49
【问题描述】:
我需要什么
- 我需要将数组转换为 json。
数组o/p
Array
(
[ID] => 70
[MM_USER_PROFILE_ID] => 1
[FOS_USER_ID] => 84
[TYPE] => ALERT
[FILE_ID] => 157
[PRIORITY] => Medium
[TITLE] => test csv
[DESCRIPTION] => Resource id #390
[IS_ACTIVE] => Y
[CREATED_AT] => 2017-03-15 11:24:28
[UPDATED_AT] =>
[CREATED_BY] => 84
[UPDATED_BY] =>
[LEVEL_ID] =>
[USER_ID] => 84
[LOG_ID] =>
)
php代码
$temp = array();
$selectQ = "SELECT COUNT(*) as new_if_count ";
$total_count = $this->container->get('db_core_function_services')->runRawSql($selectQ);
foreach($notification_result as $key =>$value)
{
//solution 1 i tried json_encode
$temp['all_notifications']=json_encode($value);
}
print_r($tmp) o/p false.
//solution 2 i tried
$encoders = array(new JsonEncoder());
$normalizers = array(new GetSetMethodNormalizer());
$serializer = new Serializer($normalizers, $encoders);
$response = new Response($serializer->serialize($temp, 'json'));
$response->headers->set('Content-Type', 'application/json');
return $response;
- 请提出解决方案,我该如何编码这个数组。
错误
An unexpected value could not be normalized: NULL
正如我用谷歌搜索的那样,我遇到的问题是从数组中解析空值。
请提出建议
我发现 ['description'] 的解决方案是造成问题的 blob 内容。
适合我的代码
foreach($notification_result as $key =>$value)
{
if(array_key_exists('DESCRIPTION', $value)){
$blob = $value['DESCRIPTION'];
$value['DESCRIPTION'] = stream_get_contents($blob);
}
$temp['all_notifications']=$value;
}
$temp_count=$total_count[0];
$data=array_merge($temp_count,$temp);
【问题讨论】:
标签: php oracle11g symfony-2.8