PHP将字符串转换为对象

I have a file that contains the following HL7 Information :

{
  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'
    }}}

I want to convert this message to a json object and I did the following :

// 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;
        }

But I get the following error :

Severity: Notice

Message: Trying to get property of non-object

When I user the getype function of PHP on the $json_file , it is a string file. How can I convert the message to an object for my own system consumption ?

Please validate your JSON code.

JSON rules

  1. Data is in name/value pairs
  2. Data is separated by commas
  3. Curly braces hold objects - Your file contains no parent object
  4. Square brackets hold arrays
  5. A name/value pair consists of a field name (in double quotes). - Your name fields are not in double quotes

Valid JSON code:

    {
        "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"
            }
        }   
    }

Working PHP example with valid JSON code:

<?php

    $json = '
        {
            "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"
                }
            }   
        }
    ';

    $object = json_decode($json);

    echo $object->MESSAGE_HEADER->SENDING_APPLICATION;

?>