Ich habe die folgende Zeichenfolge eines JSON von einem Webdienst und versuche, diese in eine zu konvertieren JSONarray
{
"locations": [
{
"lat": "23.053",
"long": "72.629",
"location": "ABC",
"address": "DEF",
"city": "Ahmedabad",
"state": "Gujrat",
"phonenumber": "1234567"
},
{
"lat": "23.053",
"long": "72.629",
"location": "ABC",
"address": "DEF",
"city": "Ahmedabad",
"state": "Gujrat",
"phonenumber": "1234567"
},
{
"lat": "23.053",
"long": "72.629",
"location": "ABC",
"address": "DEF",
"city": "Ahmedabad",
"state": "Gujrat",
"phonenumber": "1234567"
},
{
"lat": "23.053",
"long": "72.629",
"location": "ABC",
"address": "DEF",
"city": "Ahmedabad",
"state": "Gujrat",
"phonenumber": "1234567"
},
{
"lat": "23.053",
"long": "72.629",
"location": "ABC",
"address": "DEF",
"city": "Ahmedabad",
"state": "Gujrat",
"phonenumber": "1234567"
}
]
}
Ich habe dies String
online validiert , es scheint korrekt zu sein. Jetzt verwende ich den folgenden Code in der Android-Entwicklung, um ihn zu verwenden
JSONArray jsonArray = new JSONArray(readlocationFeed);
Dies löst eine Ausnahme aus, bei der der Typ nicht übereinstimmt.
readlocationFeed
?Antworten:
Hier erhalten Sie JSONObject, ändern Sie also diese Zeile:
mit folgenden:
und danach
quelle
Eingabezeichenfolge
Einfache Möglichkeit, einen String in JSON zu konvertieren
Ausgabe
quelle
Verwenden von json lib: -
Verwenden von GSON lib: -
quelle
gson
Objekt erstellt, aber nicht verwendet wird.Gson gson = new Gson();
Sie müssen die angegebene Zeichenfolge in konvertieren,
JSONObject
anstatt,JSONArray
da die aktuelle ZeichenfolgeJsonObject
anstelle vonJsonArray
:quelle
oder konvertieren Sie es in JSONOBJECT
quelle
Versuchen Sie diesen Code:
quelle
wenn die Antwort so ist
Sie können so analysieren
Hier ist die JsonArray-Größe 1. Andernfalls sollten Sie die for-Schleife verwenden, um Werte abzurufen.
quelle
Sie können Folgendes tun:
quelle
Es ist eine sehr einfache Art zu konvertieren:
}}
}}
quelle
Wenn Sie JSON vom Webdienst folgen, Json Array als Antwort:
Sie müssen es zuerst als Json-Array akzeptieren und dann beim Lesen des Objekts Object Mapper.readValue verwenden, da sich das Json-Objekt noch in der Zeichenfolge befindet.
mapper.read ist die richtige Funktion, wenn Sie mapper.convert (param, param) verwenden. Es wird u Fehler geben.
quelle