
MongoDBBSONBinary::jsonSerialize 메서드를 사용하여 바이너리 데이터를 변환하는 방법은 다음과 같습니다.
1. 바이너리 데이터를 Base64로 인코딩합니다.
2. 인코딩된 바이너리 데이터를 JSON 형식의 문자열로 변환합니다.
예를 들어, 다음 BSON 문서를 JSON 형식으로 변환할 때, 바이너리 데이터를 처리하는 방법은 다음과 같습니다.
#hostingforum.kr
php
$bson = [
'_id' => new MongoDBBSONObjectID(),
'name' => 'John Doe',
'image' => new MongoDBBSONBinary('...', MongoDBBSONBinary::TYPE_BINARY),
];
$json = json_encode($bson, JSON_PRETTY_PRINT);
print($json);
바이너리 데이터가 포함된 BSON 문서를 JSON 형식으로 변환할 때, 다음 매핑 규칙을 적용해야 합니다.
* 바이너리 데이터를 Base64로 인코딩합니다.
* 인코딩된 바이너리 데이터를 JSON 형식의 문자열로 변환합니다.
* JSON 형식의 문자열을 바이너리 데이터의 원래 형식으로 변환합니다.
예를 들어, 다음 BSON 문서를 JSON 형식으로 변환할 때, 바이너리 데이터를 처리하는 방법은 다음과 같습니다.
#hostingforum.kr
php
$bson = [
'_id' => new MongoDBBSONObjectID(),
'name' => 'John Doe',
'image' => new MongoDBBSONBinary('...', MongoDBBSONBinary::TYPE_BINARY),
];
$json = json_encode($bson, JSON_PRETTY_PRINT);
// 바이너리 데이터를 Base64로 인코딩합니다.
$image = base64_encode($bson['image']->getData());
// 인코딩된 바이너리 데이터를 JSON 형식의 문자열로 변환합니다.
$json = str_replace('"image" : BinData(0, "', 'image" : "' . $image . '",', $json);
// JSON 형식의 문자열을 바이너리 데이터의 원래 형식으로 변환합니다.
$json = str_replace('"image" : "', 'image" : new MongoDBBSONBinary("' . $image . '", MongoDBBSONBinary::TYPE_BINARY),', $json);
print($json);
바이너리 데이터가 포함된 BSON 문서를 JSON 형식으로 변환할 때, 위의 매핑 규칙을 적용하여 바이너리 데이터를 처리해야 합니다.
2025-06-27 14:29