0

I am getting this error and my json file I am getting error from this code part:

JSONObject data = new JSONObject(content);


Error:Error parsing JSON: A JSONObject text must begin with '{' at 0 [character 1 line 1] org.json.JSONException: Unterminated string at 8192 [character 17 line 479]   at org.json.JSONTokener.syntaxError(JSONTokener.java:503)   at org.json.JSONTokener.nextString(JSONTokener.java:302)    at org.json.JSONTokener.nextSimpleValue(JSONTokener.java:430)   at org.json.JSONObject.<init>(JSONObject.java:218)  at org.json.JSONTokener.nextValue(JSONTokener.java:409)     at org.json.JSONArray.<init>(JSONArray.java:105)    at org.json.JSONTokener.nextValue(JSONTokener.java:416)     at org.json.JSONObject.<init>(JSONObject.java:237)  at org.json.JSONTokener.nextValue(JSONTokener.java:409)     at org.json.JSONArray.<init>(JSONArray.java:105)    at org.json.JSONTokener.nextValue(JSONTokener.java:416)     at org.json.JSONObject.<init>(JSONObject.java:237)






public static String getCurrentMarketplaceName() {
try {
    byte bytes = Files.readAllBytes(Paths.get(CURRENT_MARKET_PLACE_FILE_PATH));
    String content = new String(bytes, StandardCharsets.UTF_8).trim();  
    // Validate the JSON starts with '{'
    if (content.startsWith("{")) {
        JSONObject data = new JSONObject(content);
        JSONArray marketplaces = data.getJSONArray("marketplaces");
        if (!marketplaces.isEmpty()) {
            JSONObject marketplace = marketplaces.getJSONObject(0);
            return marketplace.getString("name");
        } else {
            System.out.println("No marketplace found.");
        }
    } else {
        System.out.println("The file content does not start with '{'. Please check the file format.");
    }
} catch (Exception e) {
    e.printStackTrace();
}
return null;



Json file:




{"marketplaces": [{  "drones": [   {    "recentMission": 13,    "relationships": [     {      "trustValue": 0,      "droneName": "ByzantineDrone-1"     },     {      "trustValue": 1,      "droneName": "Drone-8"     },     {      "trustValue": 1,      "droneName": "Drone-7"     },     {      "trustValue": 1,      "droneName": "Drone-6"     },     {      "trustValue": 1,      "droneName": "Drone-5"     },     {      "trustValue": 1,      "droneName": "Drone-4"     },     {      "trustValue": 1,      "droneName": "Drone-3"     },     {      "trustValue": 1,      "droneName": "Drone-2"     },     {      "trustValue": 1,      "droneName": "Drone-1"     },     {      "trustValue": 0,      "droneName": "ByzantineDrone-2"     },     {      "trustValue": 1,      "droneName": "ByzantineDrone-3"     }    ],    "droneType": "Multi-Sensor Reconnaissance Drones",    "numberOfMissions": 40,    "name": "Drone-1",    "globalReputationScore": 1   },   {    "recentMission": 16,    "relationships": [     {      "trustValue": 1,      "droneName": "ByzantineDrone-1"     },     {      "trustValue": 1,      "droneName": "Drone-8"     },     {      "trustValue": 1,      "droneName": "Drone-7"     },     {      "trustValue": 1,      "droneName": "Drone-6"     },     {      "trustValue": 1,      "droneName": "Drone-5"     },     {      "trustValue": 1,      "droneName": "Drone-4"     },     {      "trustValue": 1,      "droneName": "Drone-3"     },     {      "trustValue": 1,      "droneName": "Drone-1"     },     {      "trustValue": 0,      "droneName": "ByzantineDrone-2"     },     {      "trustValue": 1,      "droneName": "Drone-2"     },     {      "trustValue": 0,      "droneName": "ByzantineDrone-3"     }    ],    "droneType": "Multi-Sensor Reconnaissance Drones",    "numberOfMissions": 40,    "name": "Drone-2",    "globalReputationScore": 1   },   {    "recentMission": 16,    "relationships": [     {      "trustValue": 1,      "droneName": "ByzantineDrone-1"     },     {      "trustValue": 1,      "droneName": "Drone-8"     },     {      "trustValue": 1,      "droneName": "Drone-7"     },     {      "trustValue": 1,      "droneName": "Drone-6"     },     {      "trustValue": 1,      "droneName": "Drone-5"     },     {      "trustValue": 1,      "droneName": "Drone-4"     },     {      "trustValue": 1,      "droneName": "Drone-2"     },     {      "trustValue": 1,      "droneName": "Drone-1"     },     {      "trustValue": 0,      "droneName": "ByzantineDrone-2"     },     {      "trustValue": 1,      "droneName": "Drone-3"     },     {      "trustValue": 0,      "droneName": "ByzantineDrone-3"     }    ],    "droneType": "Multi-Sensor Reconnaissance Drones",    "numberOfMissions": 40,    "name": "Drone-3",    "globalReputationScore": 1   },   {    "recentMission": 19,    "relationships": [     {      "trustValue": 1,      "droneName": "ByzantineDrone-1"     },     {      "trustValue": 1,      "droneName": "Drone-8"     },     {      "trustValue": 1,      "droneName": "Drone-7"     },     {      "trustValue": 1,      "droneName": "Drone-6"     },     {      "trustValue": 1,      "droneName": "Drone-5"     },     {      "trustValue": 1,      "droneName": "Drone-3"     },     {      "trustValue": 1,      "droneName": "Drone-2"     },     {      "trustValue": 1,      "droneName": "Drone-1"     },     {      "trustValue": 1,      "droneName": "ByzantineDrone-3"     },     {      "trustValue": 1,      "droneName": "Drone-4"     },     {      "trustValue": 0,      "droneName": "ByzantineDrone-2"     }    ],    "droneType": "Multi-Sensor Reconnaissance Drones",    "numberOfMissions": 40,    "name": "Drone-4",    "globalReputationScore": 1   },   {    "recentMission": 19,    "relationships": [     {      "trustValue": 1,      "droneName": "ByzantineDrone-1"     },     {      "trustValue": 1,      "droneName": "Drone-8"     },     {      "trustValue": 1,      "droneName": "Drone-7"     },     {      "trustValue": 1,      "droneName": "Drone-6"     },     {      "trustValue": 1,      "droneName": "Drone-4"     },     {      "trustValue": 1,      "droneName": "Drone-3"     },     {      "trustValue": 1,      "droneName": "Drone-2"     },     {      "trustValue": 1,      "droneName": "Drone-1"     },     {      "trustValue": 0,      "droneName": "ByzantineDrone-3"     },     {      "trustValue": 1,      "droneName": "Drone-5"     }    ],    "droneType": "Multi-Sensor Reconnaissance Drones",    "numberOfMissions": 40,    "name": "Drone-5",    "globalReputationScore": 1   },   {    "recentMission": 19,    "relationships": [     {      "trustValue": 1,      "droneName": "ByzantineDrone-1"     },     {      "trustValue": 1,      "droneName": "Drone-8"     },     {      "trustValue": 1,      "droneName": "Drone-7"     },     {      "trustValue": 1,      "droneName": "Drone-5"     },     {      "trustValue": 1,      "droneName": "Drone-4"     },     {      "trustValue": 1,      "droneName": "Drone-3"     },     {      "trustValue": 1,      "droneName": "Drone-2"     },     {      "trustValue": 1,      "droneName": "Drone-1"     },     {      "trustValue": 1,      "droneName": "Drone-6"     },     {      "trustValue": 0,      "droneName": "ByzantineDrone-2"     },     {      "trustValue": 1,      "droneName": "ByzantineDrone-3"     }    ],    "droneType": "Thermal Imaging Drones",    "numberOfMissions": 101,    "name": "Drone-6",    "globalReputationScore": 1   },   {    "recentMission": 19,    "relationships": [     {      "trustValue": 1,      "droneName": "Drone-8"     },     {      "trustValue": 1,      "droneName": "Drone-7"     },     {      "trustValue": 1,      "droneName": "Drone-6"     },     {      "trustValue": 1,      "droneName": "Drone-5"     },     {      "trustValue": 1,      "droneName": "Drone-4"     },     {      "trustValue": 1,      "droneName": "Drone-3"     },     {      "trustValue": 1,      "droneName": "Drone-2"     },     {      "trustValue": 1,      "droneName": "Drone-1"     },     {      "trustValue": 0,      "droneName": "ByzantineDrone-2"     },     {      "trustValue": 1,      "droneName": "ByzantineDrone-1"     },     {      "trustValue": 0,      "droneName": "ByzantineDrone-3"     }    ],    "droneType": "Thermal Imaging Drones",    "numberOfMissions": 101,    "name": "ByzantineDrone-1",    "errorRate": 0.6,    "globalReputationScore": 0.32981849403079   },   {    "recentMission": 19,    "relationships": [     {      "trustValue": 1,      "droneName": "ByzantineDrone-1"     },     {      "trustValue": 1,      "droneName": "Drone-8"     },     {      "trustValue": 1,      "droneName": "Drone-6"     },     {      "trustValue": 1,      "droneName": "Drone-5"     },     {      "trustValue": 1,      "droneName": "Drone-4"     },     {      "trustValue": 1,      "droneName": "Drone-3"     },     {      "trustValue": 1,      "droneName": "Drone-2"     },     {      "trustValue": 1,      "droneName": "Drone-1"     },     {      "trustValue": 1,      "droneName": "Drone-7"     },     {      "trustValue": 0,      "droneName": "ByzantineDrone-3"     },     {      "trustValue": 0,      "droneName": "ByzantineDrone-2"     }    ],    "droneType": "Cargo Drones",    "numberOfMissions": 51,    "name": "Drone-7",    "globalReputationScore": 1   },   {    "recentMission": 16,    "relationships": [     {      "trustValue": 0,      "droneName": "ByzantineDrone-1"     },     {      "trustValue": 1,      "droneName": "Drone-7"     },     {      "trustValue": 1,      "droneName": "Drone-6"     },     {      "trustValue": 1,      "droneName": "Drone-5"     },     {      "trustValue": 1,      "droneName": "Drone-4"     },     {      "trustValue": 1,      "droneName": "Drone-3"     },     {      "trustValue": 1,      "droneName": "Drone-2"     },     {      "trustValue": 1,      "droneName": "Drone-1"     },     {      "trustValue": 1,      "droneName": "ByzantineDrone-3"     },     {      "trustValue": 0,      "droneName": "ByzantineDrone-2"     },     {      "trustValue": 1,      "droneName": "Drone-8"     }    ],    "droneType": "Cargo Drones",    "numberOfMissions": 50,    "name": "Drone-8",    "globalReputationScore": 1   },   {    "recentMission": 7,    "relationships": [     {      "trustValue": 1,      "droneName": "Drone-1"     },     {      "trustValue": 1,      "droneName": "Drone-2"     },     {      "trustValue": 1,      "droneName": "Drone-3"     },     {      "trustValue": 1,      "droneName": "Drone-4"     },     {      "trustValue": 1,      "droneName": "Drone-5"     },     {      "trustValue": 1,      "droneName": "Drone-6"     },     {      "trustValue": 0,      "droneName": "ByzantineDrone-1"     },     {      "trustValue": 1,      "droneName": "Drone-7"     },     {      "trustValue": 1,      "droneName": "Drone-8"     }    ],    "droneType": "Multi-Sensor Reconnaissance Drones",    "numberOfMissions": 1,    "name": "ByzantineDrone-2",    "errorRate": 0.8332559989065593,    "globalReputationScore": 0   },   {    "recentMission": 10,    "relationships": [     {      "trustValue": 1,      "droneName": "Drone-1"     },     {      "trustValue": 1,      "droneName": "Drone-2"     },     {      "trustValue": 1,      "droneName": "Drone-3"     },     {      "trustValue": 1,      "droneName": "Drone-4"     },     {      "trustValue": 1,      "droneName": "Drone-5"     },     {      "trustValue": 1,      "droneName": "Drone-6"     },     {      "trustValue": 0,      "droneName": "ByzantineDrone-1"     },     {      "trustValue": 1,      "droneName": "Drone-7"     },     {      "trustValue": 1,      "droneName": "Drone-8"     },     {      "trustValue": 0,      "droneName": "ByzantineDrone-2"     },     {      "trustValue": 1,      "droneName": "ByzantineDrone-3"     }    ],    "droneType": "Multi-Sensor Reconnaissance Drones",    "numberOfMissions": 1,    "name": "ByzantineDrone-3",    "errorRate": 0.43766446635329015,    "globalReputationScore": 0   }  ],  "byzantineDronePercentage": 27.27272727272727,  "name": "Marketplace 1" }]}



I add if condition to check "{" but still I am getting the error.

1 Answer 1

0

I believe you want to use a byte[] instead of byte.

byte[] bytes = Files.readAllBytes(Paths.get(CURRENT_MARKET_PLACE_FILE_PATH));
1
  • True, but that would be a compiler error. Probably just a copy-paste problem when adding the code to the question. Although this might indicate that OP is running an old version of the code since the new version could not be auto-compiled by the IDE.
    – tobias_k
    Commented Jul 11 at 15:19

Not the answer you're looking for? Browse other questions tagged or ask your own question.