2016-06-12 12 views
0
String getCity = request.getParameter("name1"); 
HttpSession session = request.getSession(); 
try { 
    ConnectToDb db = new ConnectToDb(); 

    con =db.getConnect(); 
    pstmt = con.prepareStatement("select Name, CountryCode, District, Population from city where name =?"); 
    pstmt.setString(1, getCity); 
    rs=pstmt.executeQuery(); 
    ArrayList<getCity> getinfo = new ArrayList<getCity>(); 

    while(rs.next()){ 
     getCity gc = new getCity(); 
     gc.setCity(rs.getString("name")); 
     gc.setContryCode(rs.getString("CountryCode")); 
     gc.setDistrict(rs.getString("district")); 
     gc.setPopulation(rs.getString("population")); 
     getinfo.add(gc); 
    } 

    JSONObject jobj = new JSONObject(); 
    jobj.put("city", getinfo); 
    System.out.println(jobj); 

} catch (Exception e) { 
    System.out.println(e.getMessage()); 
} 

Ausgang:Warum Objekt JSON Läden wie dieser { "Stadt": [{ "com.getcity @ FAE87A."}]}

{"city":[{"city":"Perm","district":"Perm","contryCode":"RUS","population":"1009700"}]} 

Aber gleichen Code, wenn ich in einer anderen Maschine ausführen ausgegeben wird etwas wie dieses: {"city":[{"[email protected]"}]}.

Warum passiert das?

+0

Sieht so aus, als ob der Teil, der den Stadtteil zurückgeben soll, fehlschlägt und die URL vielleicht zurückgibt, von der er kommt? –

Antwort

2

Es ist ein "getCity" -Objekt ohne "toString" -Methode zu implementieren. Überprüfen Sie Ihren Code.

+0

Aber in anderen Maschinenausgabe ist richtig und in anderen zeigt es Objekt, warum das ist? –