To process exactly those newline lines that are in double-quoted lines and leave them outside of them using GNU awk (for RT):
gawk -v RS='"' 'NR % 2 == 0 { gsub(/\n/, "") } { printf("%s%s", $0, RT) }' file
This works by breaking the file by characters "and deleting newlines in every other block. With file containing
"one",
"three
four",
12,
"seven"
it will give a result
"one",
"threefour",
12,
"seven"
, escape-. \", "He said: \"this is a direct quote.\"", .