# [C (gcc)], 243 bytes

I decided to use a state machine to handle the three cases (newline, key, value) and it turned out pretty well! Also, I got to <strike>ab</strike>use the fall-through feature of `switch` ;-)

<!-- language-all: lang-c -->

    #define p(s)printf(s,c)
    #define a(i)case i:
    c,s;f(){for(p("{\n");(c=getchar())>0;)switch(s){a(0)if(c<11)break;s++,p("  \"");a(1)c==61?s++,p("\": \""):p("%c");break;a(2)c-34&&c-39?c==10?p("\",\n"),s=0:p("%c"):p("\\%c");}s==2&&p("\"\n");p("}");}

[Try it online!][TIO-jkov9oz3]

[C (gcc)]: https://gcc.gnu.org/
[TIO-jkov9oz3]: https://tio.run/##dVDNcsIgEL77FDQtGRijk6SdztSUeu2xD5DLlpDIFCHDZtROxmdPEfWkvXyw38@yi1x0Uk7TY6NabRXpGfLeazu0DDPJZ1cemOYSUBG9mskMq5bxsXWe9SwZa5vwiknRqUFuwDPOP/KK416HMrQbgeVct0y@FwX/9gp@KpzPs5AkpE5CFFjBpRCvxfrC18kqKqtwpzI4zilgJZeL55c0Dfi2DpEiX0d7dhohQ5FfE6ezrmP2iEKUaRp9cdJwO574KWxJtqAt2zndcDKSsFRFjtPgwaKBQTu7HBQOS@usEp/KGJeRvfOmeZjdeKTb9kYdxJcPH3bICEVaPiGBLjwQCgK2IbQIjAEczO@VAoPuzEfnncYKJfRK0BCgF7ggxVu3tjswuhEbTei/ahllQu7kwXcoTv3vaHF1EfEP "C (gcc) – Try It Online"