String Array to JSON String Introduction
I've seen throughout the code-golf challenges several simple tasks involving JSON, such as interpreting JSON strings with RegExs,  and almost every other manipulation I could think of.
In a binding for AppleScript that I was using for a Node project, I noticed that objects would be returned in a strange way: there would be an array of properties in string form, instead of a JSON object being returned as expected. This is where the challenge comes in...
Algorithm

Add { to beginning of the output string
Iterate over all entries, adding them to the output string, delimited by ,
Add } to the end of the output string
Print out the output string

Challenge
Make this strange return format usable. Convert an array of JSON 'key:value's (in string form) to a full JSON object string.
Rules

Any language that can do string manipulations allowed
Must print out JSON string with surrounding curly braces {}, and double quotes &quot;&quot; around string values AND all properties (&quot;property&quot;:&quot;value&quot; or &quot;property&quot;:3.14, etc.)
Must return a valid, parseable JSON string
Lowest byte count wins per language

Example Input and Output
Input:

['prop1:&quot;val1&quot;', 'prop2:12', 'prop3:3.14', 'prop4:false']

Output:

'{&quot;prop1&quot;:&quot;val1&quot;, &quot;prop2&quot;:12, &quot;prop3&quot;:3.14, &quot;prop4&quot;:false}'
C 108
Thanks to Jonathan Frech this answer is now incredibly shorter
Thanks to @ceilingcat for some very nice pieces of golfing - now even shorter
i;main(c,v)char**v;{for(;++i&lt;c;printf(&quot;%c\&quot;%s\&quot;:%s&quot;,!~-i*79+44,v[i],++*v))*(*v=index(i[v],58))=0;puts(&quot;}&quot;);}

Try it online!