2009-06-03 76 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并从中转换