I can explain the logic, but I'm not sure of an easy fix. Vim's internal indenter is following C-style syntax, so since the "a" : "value1",
line doesn't end with a ;
it assumes that the following lines are a continuation of that statement and they should be indented to show that.
:help C-indenting
goes into great depth discussing the various indent options and how they interact. I skimmed it and nothing jumped out at me, but it's worth a read.
If you have an external formatter that better recognizes the structure of your code, you can always set equalprg
to run that instead of using the internal formatter.
Edit: On second thought, set cinoptions+=+0
will disable indenting for line continuation. This will also affect regular code, but it might be a reasonable tradeoff depending which annoys you more. You can also set it per filetype if you're editing standalone .json files.