2013-07-28 150 views
5

我的代碼來創建一個新的JSONObject和寫入文件:toJSONString()是未定義的類型的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); 

我的問題是在

file.write(obj.toJSONString()); 

它說,

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

我是否缺少任何圖書館?或者我錯了?有沒有其他的方法來做到這一點?

+0

也許你meants'obj.toString()'? –

+0

我嘗試過,但給我錯誤。 – MDEVLP

+0

它給出了什麼錯誤? –

回答

8

JSONObject類沒有toJSONString()方法。相反,它會覆蓋toString()方法來生成json。

要獲取對象的json表示形式,只需使用obj.toString()即可。

+0

但文件說另一個故事。看看http://www.json.org/javadoc/org/json/JSONObject.html#valueToString(java.lang.Object) – blackSmith

+0

@blackSmith鏈接已經消失。 – zionpi

+0

@zionpi:我不確定它已被移動到哪個位置。但我認爲http://developer.android.com/reference/org/json/JSONObject.html應該仍然有信息。 – blackSmith

-1

我遇到同樣的問題,如果你想使用toJSONString()你需要導入json-simple-1.1.jar庫。

相關問題