java – JSON read error

I have a code to read Json, in my test environment it works at 100%, but when I change to read another Json with other settings, it accuses him

Unexpected token COLON (:) in position 45.
at org.json.simple.parser.JSONParser.parse (Source unknown)
at org.json.simple.parser.JSONParser.parse (Source unknown)
at read.ReadJSONExample.main (ReadJSONExample.java:31)

here is the code, with the commented test

package read;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;

import com.fazecast.jSerialComm.SerialPort;

import library.
import the connection.StartUp;
Import translator. Recognition;

Public class ReadJSONExample {

static static shortcut = new shortcut ();
static recognition recognition = new recognition ();
StartUp su = new StartUp ();

@SuppressWarnings ("unchecked")
public static void main (String[] args) throws IOException, InterruptedException {

JSONParser jsonParser = new JSONParser ();

try (FileReader drive = new FileReader ("data.json")) {

Object obj = jsonParser.parse (drive);

JSONArray PersonList = ((JSONArray) obj;
System.out.println (PersonList);


PersonList.forEach (per -> parsePersonObject ((JSONObject) per));

} catch (FileNotFoundException e) {
e.printStackTrace ();
} catch (IOException e) {
e.printStackTrace ();
} catch (ParseException e) {
e.printStackTrace ();
}

// if (isVariavelNull (shortcut.getName ())) {
if (isVariavelNull (recognition.getPredictedLabel ())) {
// ----- serial communication code --------------------------------------- ---------------
// Modify ("COMx") being x the port value that the arduino is
// connected
SerialPort sp = SerialPort.getCommPort ("COM5");
sp.setComPortParameters (9600, 8, 1, 0);
sp.setComPortTimeouts (SerialPort.TIMEOUT_WRITE_BLOCKING, 0, 0);

if (sp.openPort ()) {
System.out.println ("Open Port");
} else {
System.out.println ("Door not open");
return
}

Thread (1500);
for (integer i = 0; i <= 5; ++ i) {
System.out.println ("wink:" + i);

sendSinalSerial (sp, 0); // high
// send the (0) to the serial port
// lights led 1
// ------ flashing led
sendSinalSerial (sp, 2); // high
sendSinalSerial (sp, 3); // low
// ------
Thread (1000);
}
sendSinalSerial (sp, 1); // low

if (sp.closePort ()) {
System.out.println ("Closed door");
} else {
System.out.println ("port not closed");
}
return
}
}

MandarSinalSerial (SerialPort sp, Integer) throws IOException {
sp.getOutputStream (). write (command);
sp.getOutputStream (). flush ();
}
// ------------------------------------------------ ---- --------------------------------------

private static void parsePersonObject (JSONObject person) {
// shortcut shortcut = new shortcut ();
Recognition recognition = new recognition ();

JSONObject PersonObject = (JSONObject) person.get ("Person");

// shortcut.setName ((String) PersonObject.get ("name"));
recognition.setPredictedLabel ((String) PersonObject.get ("StreamLabel"));

// shortcut.setSurname ((String) PersonObject.get ("last name"));
recognition.setConfidence ((Double) PersonObject.get ("Confidence"));

// System.out.printf (shortcut.getName ());
// System.out.println ("" + shortcut.getSurname ());
System.out.printf (recognition.getPredictedLabel ());
System.out.println ("" + Recognization.getConfidence () ");
}

public static boolean isVariavelNull (String s) {
returns s == null;
}

}

Json test

[{"Person":{"nome":"Aaaaa","sobrenome":"Bbbbb"}}]

Json giving an error

{"stream_label": "INHVP1",
"people":[
"top_left":{"x":984,"y":422},
"recognition":{"predictedLabel":"Aaaaa Bbbbb",
"confidence":50.20001732681656},
"bottom_right":{"x":1117,"y":623}}]}

The error indicates that Json gives an error, how can I wrap this error? and is it generated this way?