我想创建一个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);
它可以工作,但是当我在javascript中使用getJSON来获取myString时,它不起作用。
答案 0 :(得分: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"}
答案 1 :(得分:0)
你应该尝试:
XStream xsStream=new XStream(new JettisonMappedXmlDriver());
答案 2 :(得分:0)
查看GSON,这是一个用于Google将对象转换为JSON的Java库。 [GSON图书馆] [1]
来自Google Code网站: