I'm not super knowledgeable on `jq` but I found this on the interwebs and I think it will work in your case:

Cut and paste version:

    jq -r 'paths(scalars) as $p  | [ ( [ $p[] | tostring ] | join(".") ), ( getpath($p) | tojson )] | join(": ")' short.json 

Easy(er) to read version:

    jq -r '
    paths(scalars) as $p
      | [ ( [ $p[] | tostring ] | join(".") )
        , ( getpath($p) | tojson )
        ]
      | join(": ")
    ' short.json

Result:

    Reservations.0.Instances.0.ImageId: "ami-a"
    Reservations.0.Instances.0.InstanceId: "i-a"
    Reservations.0.Instances.0.InstanceType: "t2.micro"
    Reservations.0.Instances.0.KeyName: "ubuntu"