【问题标题】:Java object creation compared to C#Java 对象创建与 C# 的比较
【发布时间】:2013-04-15 21:21:41
【问题描述】:

我正在创建一个移动应用程序,其中我使用用 C# 编写的 web 服务来创建 JSOn,该 JSOn 被发送到用 Java 编写的应用程序,在网站上的 C# 中,我使用以下内容创建一个新对象:

new { success = true }

但是在 Java 中我似乎不能做同样的事情,如果我不能做同样的事情,那么在 java 中最好的选择是什么?

为了说明这一点,这是我在网站上的一种网络方法:

[WebMethod]
public object getNode(int intId)
{
    DynamicNode node = new DynamicNode(intId);

    object page = new 
    {
        id = node.Id,
        parentId = node.Parent.Id,
        name = node.Name,
        title = node.GetPropertyValue("title"),
        summary = node.GetPropertyValue("summary"),
        body = node.GetPropertyValue("body"),
        updateDate = node.UpdateDate.ToString(),
        createDate = node.CreateDate.ToString()
    };

    return page;
}

如果有人可以帮助我,我将非常感激!

提前致谢。

【问题讨论】:

  • 我不确定名字,所以谷歌对我没用。
  • 你似乎完全没有理解我的意思。我不想创建现有对象的新实例 我想创建新对象,例如对象中的数据变化太大而无法遵守单个预定义类。
  • 在 Java 中,最好使用 Map<String, Object>。你可以创建一个匿名对象,但你不能访问它的字段。
  • 我看过Hashmap和Hashtable,你指的是这些吗?

标签: c# java android json object


【解决方案1】:
public class Page{

    int id;
    int parentId;
    String name;
    String title;
    String summary;
    String body;
    String updateDate;
    String createDate;

    public Page(int id, int parentId, String name, String title, String summary, String body, String update Date, String createDate)
    {
        this.id = id,
        this.parentId = parentId;
        this.name = name;
        this.title = title;
        this.summary = summary;
        this.body = body;
        this.updateDate = updateDate;
        this.createDate = createDate;
    }

}

...

Page page = new Page(1, 2, "name", "title", "summary", "body", "updateDate", "createDate");

...

【讨论】:

  • 这是我目前拥有的,只是我需要能够动态添加更多/更少的参数,因为我要发送的对象每次都会完全不同。
  • 如果参数每次都完全不同,那么对象的意义何在,因为您的代码中没有其他任何东西可以理解它。我认为您需要解释您正在尝试做什么,而不是问我该怎么做。
  • 它主要会被序列化/反序列化到 JSON 中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-09
相关资源
最近更新 更多