I believe this is improper JSON. It should be giving you a list of objects. If you can't have it fixed on the other end, I would look at using a regular expression replaceAll to correct it, then using the regular deserializer. You could do this by first simply replacing:
{
with "products": [
}
with ]
Then, using a regular expression, I think you need to replace each instance of:
"Product Name 1": {
with
{
"name": "Product Name 1",
I think that should set you up with properly formatted JSON. The regular expression is the tricky piece but definitely possible.
EDIT: for the example code you posted, you can achieve the find/replace using these parameters. You can do this either using a text editor like notepadd++ (one time use), or using the Mendix ReplaceAll function:
\n "[A-Za-z0-9 ]+":
\n
Note that both the regex string and replacement string should have 3 spaces after the newline character.