This is using the same actual feature of jq to change the null values into dashes as EchoMike444 in their answer, but doing it in another way.
Instead of listing the keys to extract, I delete the id key that we don't want to use. I then extract the remaining values and use map() to change the values that are null into dashes:
$ jq -r '[del(.id)[]] | map(.//"-") | @tsv' file
050111 1529730115000 192.168.66.230
050112 - -
Using Miller (mlr) to read the JSON input and change all fields that are null to -. We then exclude the id field and output what's left as TSV.
$ mlr --ijson --otsv --headerless-csv-output put 'for (k,v in $*) { is_null(v) { $[k] = "-" } }' then cut -x -f id file
050111 1529730115000 192.168.66.230
050112 - -