Using any awk in any shell on every Unix box:

 $ cat tst.awk
 BEGIN {
 RS = ""
 FS = "\n"
 printf "["
 }
 {
 gsub(/"/,"\\\\&")

 title = $1
 body = $3
 for (i=4; i<NF; i++) {
 body = body "\\n" $i
 }
 
 print (NR>1 ? "," : "")
 print " {"
 printf " \"title\": \"%s\",\n", title
 printf " \"body\": \"%s\"\n", body
 printf " }"
 }
 END {
 print "\n]"
 }

<p>

 $ awk -f tst.awk file
 [
 {
 "title": "A random Title 1",
 "body": "1- a block of text that can contain any character\nand it also can contain multiple lines"
 },
 {
 "title": "A random Title 2",
 "body": "2- a block of text that can contain any character\nand it also can contain multiple lines"
 },
 {
 "title": "A random Title 3",
 "body": "3- a block of text that can contain any character\nand it also can contain multiple lines"
 }
 ]