0
我有一個包含以下HL7信息的文件:PHP字符串轉換爲對象
{
MESSAGE_HEADER: {
SENDING_APPLICATION: 'IQCARE',
SENDING_FACILITY: '10829',
RECEIVING_APPLICATION: 'IL',
RECEIVING_FACILITY: '10829',
MESSAGE_DATETIME: '20170713110000',
SECURITY: '',
MESSAGE_TYPE: 'ADT^A04',
PROCESSING_ID: 'P'
},
PATIENT_IDENTIFICATION: {
EXTERNAL_PATIENT_ID: {
ID: '110ec58a-a0f2-4ac4-8393-c866d813b8d1',
IDENTIFIER_TYPE: 'GODS_NUMBER',
ASSIGNING_AUTHORITY: 'MPI'
}}}
我想這個消息轉換成JSON對象,我做了以下內容:
// copy file content into a string var
$json_file = file_get_contents("" . getcwd() . "\integration_layer\ADT^A04 - Patient Registration.json");
echo gettype($json_file);
// convert the string to a json object
$jfo = json_decode($json_file);
// read the title value
$title = $jfo->MESSAGE_HEADER->SENDING_APPLICATION;
// copy the posts array to a php var
$posts = $jfo->PATIENT_IDENTIFICATION->EXTERNAL_PATIENT_ID;
// listing posts
foreach ($posts as $post) {
echo $post->ID;
}
但我收到以下錯誤:
Severity: Notice
Message: Trying to get property of non-object
當我在$ json_file上使用PHP的getype函數時,它是一個字符串文件。 如何將消息轉換爲我自己系統消耗的對象?
你的JSON文件是不是有效的JSON。 JSON密鑰必須是用引號封裝的字符串。 ''SENDING_APPLICATION':'IQCARE'。 – Spectarion
如果JSON字符串正確,那麼'json_decode(...)'會將它轉換爲PHP中的一個對象。 –