Ich bekomme einen Fehler beim Versuch, ein JSON-Array zu einer Liste von Objekten zu nehmen, die Ausnahme ist wie folgt.gson de-serialisieren Objekt-Array ohne Kennung
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 170
hier ist der Code i
public static void main(String[] args) throws FileNotFoundException {
Gson gson = new Gson();
Test test = new Test();
JsonElement json = gson.fromJson(test.getFile("fieldTypes.json"), JsonElement.class);
String result = gson.toJson(json);
System.out.println(result);
Type listType = new TypeToken<ArrayList<JiraField>>(){}.getType();
JiraField[] jiraFields = gson.fromJson(result, listType);
for (JiraField jiraField : jiraFields) {
System.out.println(jiraField);
}
}
Dies ist der Inhalt der Datei
[
{
"id": "issuetype",
"key": "issuetype",
"name": "Issue Type",
"custom": false,
"orderable": true,
"navigable": true,
"searchable": true,
"clauseNames": [
"issuetype",
"type"
],
"schema": {
"type": "issuetype",
"system": "issuetype"
}
},
{
"id": "timespent",
"key": "timespent",
"name": "Time Spent",
"custom": false,
"orderable": false,
"navigable": true,
"searchable": false,
"clauseNames": [
"timespent"
],
"schema": {
"type": "number",
"system": "timespent"
}
}
]
Die Datei aus dem Ordner Ressourcen gelesen wird zu verwenden, versuche aber das funktioniert gut und Der SYSOUT zeigt den JSON-Inhalt korrekt an. Ich nehme an, dass es etwas gibt, was ich falsch mache?
Da Sie versuchen, 'result' statt des echten Text-Datei in Ihrem zweiten Versuch zu lesen, könnte es sein, dass die' result' korrupt ist? Sie können auch sagen, in welcher Zeile der Fehler auftritt. –
der Fehler im ersten Teil sagt BEGIN_ARRAY war aber BEGIN_OBJECT in Zeile 1 Spalte 170 – user2168435