2009-06-03 59 views
0

我想創建一個JSON對象。我試過以下內容如何在動作類的JAVA中創建JSON對象

myString=new JSONObject().put("JSON", sampleClass).toString(); 

但mystring給了我{「SampleClass @ 170f98」}。

我也試過以下

XStream xsStream=new XStream(new JsonHierarchicalStreamDriver()); 
SampleClass sampleClass=new SampleClass(userset.getId(),userset.getUsername()); 
myString=xsStream.toXML(sampleClass); 

它的工作原理,但是當我使用的getJSON在JavaScript中獲得的MyString這是行不通的。

回答

0

你應該嘗試:

XStream xsStream=new XStream(new JettisonMappedXmlDriver()); 
1

嘗試

String myString = new JSONObject().put("JSON", new JSONObject(sampleClass)).toString(); 

在我的情況下,它看起來像這樣:

import org.json.JSONObject; 
import org.junit.Test; 

public class JsonTest 
{ 
    public static class SampleClass 
    { 
     private String id; 

     private String userName; 

     public SampleClass (String id, String name) 
     { 
      this.id = id; 
      this.userName = name; 
     } 

     public String getUserName() 
     { 
      return userName; 
     } 

     public void setUserName (String userName) 
     { 
      this.userName = userName; 
     } 

     public String getId() 
     { 
      return id; 
     } 

     public void setId (String id) 
     { 
      this.id = id; 
     } 
    } 

    @Test 
    public void testSampleClass() throws Exception 
    { 
     SampleClass sampleClass = new SampleClass ("myId", "MyName"); 
     System.out.println (new JSONObject (sampleClass).toString()); 
    } 
} 

的結果是這樣的:

{"userName":"MyName","id":"myId"} 
+0

構造函數JSONObject(sampleClass)未定義 – Jugal 2009-06-03 12:07:47

0

深入研究GSON,一個用於將對象轉換爲JSON的Java庫。 [GSON庫] [1]

從谷歌代碼網站:

http://code.google.com/p/google-gson/

  • 提供簡單的toJSON()和fromJson()方法,將Java對象到JSON和副-versa
  • 允許將預先存在的不可修改對象轉換爲JSON並從中轉換