Ich probiere die Opensignal-API aus und bin in eine Wand gelaufen, als ich versucht habe, Jackson 2.0 zu verwenden, um das Ergebnis zu serialisieren. Die networkRank kann ein Array sein oder es kann eine ZeichenfolgeSerialisierung von JSON mit Varing-Datentyp mit der gleichen Variablen
sein Wie könnte ich Jackson gesetzt JSON richtig serialisiert werden, wie wenn es ein String ist, ist es auf diese String networkRank
speichern anderes Attribut speichern zu List <NetworkRank> = new ArrayList<NetworkRank>()
Diese resultieren sind ihrer api: (unten networkRank out)
{
"apiVersion": "2",
"latitude": "14.55669",
"longitude": "121.370119",
"distance": "10",
"network_type": "10",
"perMinuteCurrent": 0,
"perMinuteLimit": 10,
"perMonthCurrent": 7,
"perMonthLimit": 2000,
"networkRank": "No results for this area"
}
und
{
"apiVersion": "2",
"latitude": "14.55669",
"longitude": "121.370119",
"distance": "10",
"network_type": "10",
"perMinuteCurrent": 0,
"perMinuteLimit": 10,
"perMonthCurrent": 7,
"perMonthLimit": 2000,
"networkRank": [
{
"networkName": "T-Mobile",
"networkId": "310260",
"type3G": {
"networkName": "T-Mobile",
"networkId": "310260",
"networkType": "3",
"averageRssiAsu": "10.934899",
"averageRssiDb": "-91.130203",
"sampleSizeRSSI": "437532",
"downloadSpeed": "4532.8305",
"uploadSpeed": "1124.9649",
"pingTime": "148.8205",
"reliability": "94.5944170771741"
},
"type4G": {
"networkName": "EE",
"networkId": "23430",
"networkType": "4",
"averageRsrpAsu": "33.865632",
"averageRsrpDb": "-106.134368",
"sampleSizeRSRP": "284041",
"downloadSpeed": "9851.1000",
"uploadSpeed": "4377.3200",
"pingTime": "87.0000",
"reliability": "96.2113095238094"
}
}
]
}
Wie sieht die Klasse für die Serialisierung aus? Meinst du, es gibt ein 'Object'-Feld von' networkRank', das entweder 'String' oder' List '' sein kann? –
Wilson
Hallo Wilson, der Web-Service ergibt Array von Netzwerkrang, wenn Netzwerksignal existiert, sonst sendet es kein Netzwerksignal als String gefunden. So wird das gleiche Feld zu einer Zeichenfolge oder einem Array. –
Sounds Sie müssen die JSON-Antwort in ein Klassenobjekt deserialisieren? Wenn das der Fall ist, wie sieht die Klasse für die Deserialisierung aus? oder eine Klassenstruktur ist willkommen, solange nach der Deserialisierung ein Feld zum Speichern einer Zeichenfolge oder eines Arrays vorhanden ist? – Wilson