[SalesForce] Json Unexpected character (‘:’ (code 58)): was expecting comma to separate ARRAY entries at [line:1, column:83]

I have a Json string to do some testing on nested Json but get te error:Unexpected character (':' (code 58)): was expecting comma to separate ARRAY entries at [line:1, column:83]

I can seem to figure out what is wrong with my Json

Here is my Json String

'{"Accts":[{"Name":"ABC","Exp":25,"Languages":[{"Name":"Apex","version":[]},"Name":"Java","versions":[{"version":1.8,"certification":true,"placeholder":{"target":"reached"}}]}]}]}'

Best Answer

The error message is helpful here, line 1, column 83 puts you at "Name":"Java"

From the previous entry in the list, it's clear that you're missing an object start { after the "apex" language JSON object.

As usual, pretty-printing (and being diligent about indentation) makes it easy to see the issue.

{
    "Accts":
    [
        {
            "Name":"ABC",
            "Exp":25,
            "Languages":
            [
                // First entry is an object
                {
                    "Name":"Apex",
                    "version":[]
                },
                // Second entry isn't
                // Not an issue in and of itself, but a red flag
                "Name":"Java",
                "versions":
                [
                    {
                        "version":1.8,
                        "certification":true,
                        "placeholder":
                        {
                            "target":"reached"
                        }
                    }
                ]
            } // This terminator doesn't match the terminator on the same level
        ]
    }
]} //extra terminators indicate _something_ is wrong