2016-05-04 9 views
2

Ich möchte Arraylist anstelle von Vektor verwenden, da ArrayList bessere Leistung usw. gibt. Der Code funktioniert jedoch auch mit Vektor. Ich verstehe nicht, wenn ich json_encode verwende, manchmal kann es in arraylist und manchmal in Vektor geparst werden. Was macht den Unterschied, wenn der von json analysierte Wert in Vektor und Arraylist umgewandelt wird? Ist es von Model/Controller (CI hier verwendet) oder muss ich etwas anders in Java JSON Parser tun?java.util.Vector kann nicht in java.util.ArrayList Fehler umgewandelt werden, wenn JSON in Java geparst wird

codeigniter Controller:

$data = $this->member->view_members(); 
header('Content-Type: application/json'); 
echo json_encode($data); 

CI Modell:

$queries = $this->db->get('members'); 
return $queries->result(); 

json:

[{ "id": "1", 
    "name": "Magalamind Industries", 
    "tableGroup": "Birgunj rising round table 20", 
    "email": "[email protected]", 
    "position": "Senior Member", 
    "address": "Birgunj", 
    "phn": "9876543234", 
    "date": "2016-05-03 15:53:51", 
    "active": "1"}, 
{ "id": "2", 
    "name": "Ram kumar Sharma", 
    "tableGroup": "Lalitpur round table 5", 
    "email": "[email protected]", 
    "position": "Recent Member", 
    "address": "Patandhoka, lalitpur", 
    "phn": "9876567890", 
    "date": "2016-05-03 15:53:51", 
    "active": "1"}] 

java json mit Fehler msg analysieren: java.util.Vector kann nicht auf Java gegossen werden .util.ArrayList

+1

Nun nutzt, ist es ein 'VECTOR', und die beiden Typen sind nicht verwandt. Machen Sie "response" zu einem "Vector" oder kopieren Sie seinen Inhalt in eine 'ArrayList'. –

+0

Oder noch besser, verwenden Sie Jackson oder Gson, um es vollständig zu analysieren. – chrylis

+0

@AndyTurner Ich habe bereits oben erwähnt, ich kann Antwort Vektor machen und arbeiten, aber manchmal kann ich direkt in Arraylistm arbeiten. Deshalb frage ich, ob ich hier etwas machen kann? – beck

Antwort

2

The

jSONParser.parse(new InputStreamReader(input)); 

ist das alte Parsing-Verfahren (merkt es in dem javadocs veraltet ist), verwendet es Hashtables und Vektoren.

Sie benötigen die

jSONParser.parseJSON(new InputStreamReader(input)); 

zu verwenden, die HashMap und Arraylist

Verwandte Themen