2013-07-28 11 views
5

mojego kodu, aby utworzyć nowy JSONObject i zapisu do pliku:toJSONString() jest zdefiniowana dla danego typu JSONObject

JSONObject obj = new JSONObject(); 
obj.put("name", "abcd"); 
obj.put("age", new Integer(100)); 
JSONArray list = new JSONArray(); 
list.add("msg 1"); 
list.add("msg 2"); 
list.add("msg 3"); 
obj.put("messages", list); 
try { 
    FileWriter file = new FileWriter("c:\\test.json"); 
    file.write(obj.toJSONString()); 
    file.flush(); 
    file.close();  
} catch (IOException e) { 
    e.printStackTrace(); 
} 
System.out.print(obj); 

Mój problem polega na

file.write(obj.toJSONString()); 

Mówi, że

The method toJSONString() is undefined for the type JSONObject.

Czy brakuje mi jakiejś biblioteki? Czy nie zamierzam tego źle? Czy istnieje alternatywny sposób na zrobienie tego?

+0

Być może ty meants 'obj.toString()'? –

+0

Próbowałem, ale daje mi errror. – MDEVLP

+0

Jaki błąd daje? –

Odpowiedz

8

Klasa JSONObject nie ma metody toJSONString(). Zamiast tego zastępuje metodę toString() generowania json.

Aby uzyskać reprezentację json obiektu, po prostu użyj obj.toString().

+0

, ale dokument mówi inną historię. Zajrzyj na http://www.json.org/javadoc/org/json/JSONObject.html#valueToString(java.lang.Object) – blackSmith

+0

@blackSmith link gone. – zionpi

+0

@zionpi: Nie wiem, do której lokalizacji został przeniesiony. Ale myślę, że http://developer.android.com/reference/org/json/JSONObject.html powinien nadal zawierać informacje. – blackSmith

-1

Spełniam to samo pytanie, jeśli chcesz korzystać z biblioteki toJSONString(), musisz zaimportować bibliotekę json-simple-1.1.jar.

Powiązane problemy