0

我想创建一个 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 时它不起作用。

4

3 回答 3

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"}
于 2009-06-03T12:02:25.410 回答
0

你应该试试:

XStream xsStream=new XStream(new JettisonMappedXmlDriver());
于 2009-06-03T12:00:17.490 回答
0

查看 GSON,一个由 Google 将对象转换为 JSON 的 Java 库。[GSON 图书馆][1]

从谷歌代码网站:

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

  • 提供简单的 toJson() 和 fromJson() 方法将 Java 对象转换为 JSON,反之亦然
  • 允许将预先存在的不可修改对象与 JSON 相互转换
于 2009-06-03T12:17:37.283 回答