当前位置: 首页 > 知识库问答 >
问题:

如何在Java中构造一个类似json的主体对象?

羊舌志
2023-03-14

我是java编程的初学者,主要是javascript开发人员。我有一个js数组,

[
  {
    "key1": 0,
    "key2": 1,
    "key3": "string"
  },
{
    "key1": 1,
    "key2": 2,
    "key3": "string2"
  }
]

如何在Java中构造相同的结构?

共有1个答案

万俟亦
2023-03-14

在这里,根据需求,您需要遵循以下步骤:

1)创建一个具有成员(key1、key2、key3)的类。

2)创建类对象并将其添加到List中。(正如您在注释中提到的,您必须迭代它,最好使用ArrayList。)

public class Data {

  private int key1;

  private int key2;

  private String key3;

  public Data(final int key1, final int key2, final String key3) {
    super();
    this.key1 = key1;
    this.key2 = key2;
    this.key3 = key3;
  }

  /**
   * @return the key1
   */
  public int getKey1() {
    return key1;
  }

  /**
   * @return the key2
   */
  public int getKey2() {
    return key2;
  }

  /**
   * @return the key3
   */
  public String getKey3() {
    return key3;
  }

  /**
   * @param key1
   *          the key1 to set
   */
  public void setKey1(final int key1) {
    this.key1 = key1;
  }

  /**
   * @param key2
   *          the key2 to set
   */
  public void setKey2(final int key2) {
    this.key2 = key2;
  }

  /**
   * @param key3
   *          the key3 to set
   */
  public void setKey3(final String key3) {
    this.key3 = key3;
  }

}

第2步:

public class Test {

  public static void main(final String[] args) {

    //Using List
    final List<Data> myDataList = new ArrayList<Data>();
    myDataList.add(new Data(0, 1, "string"));
    myDataList.add(new Data(1, 2, "string2"));

    // Or

    //Using Array
    final Data[] myData = {new Data(0, 1, "string"), new Data(1, 2, "string2")};


  }

}
 类似资料:
  • 我如何简化这一点: 有必要有两个不同的构造函数,只有一点区别吗? 有没有一种方法可以简单地使用其中一种?

  • 问题内容: 是否完全违反Java创建类结构对象的方式? 我可以看到一个类,其访问器和增变器更像Java。 第一个示例中的类在符号上很方便。 这不是那么方便。 问题答案: 这是一个经常讨论的话题。在对象中创建公共字段的缺点是您无法控制为其设置的值。在有许多程序员使用同一代码的小组项目中,避免副作用很重要。此外,有时最好返回字段对象的副本或以某种方式对其进行转换等。您可以在测试中模拟此类方法。如果创建

  • 问题内容: 是否可以从另一个(在同一类中,而不是在子类中)调用构造函数?如果是,怎么办?调用另一个构造函数的最佳方法是什么(如果有几种方法可以做到)? 问题答案: 对的,这是可能的: 要链接到特定的超类构造函数而不是同一类中的构造函数,请使用代替。注意,你只能链接到一个构造函数,它必须是构造函数主体中的第一条语句。

  • 问题内容: 给定两个绝对路径,例如 如何创建以第二条路径为基础的相对路径?在上面的示例中,结果应为: 问题答案: 有点回旋处,但是为什么不使用URI?它具有相对方法,可以为你进行所有必要的检查。 请注意,文件路径自Java 1.7起就存在,如@Jirka Meluzin在其他答案中指出的那样。

  • 问题内容: 假设我有一个带有多个构造函数的Java类: 如何在Scala中扩展它,并仍然提供对Base的所有三个构造函数的访问?在Scala中,子类只能调用其超类的构造函数之一。我该如何解决这个规则? 假设Java类是我无法更改的旧代码。 问题答案: 很容易忘记一个特质可以扩展一个类。如果使用特征,则可以推迟调用哪个构造函数的决定,如下所示: 特性本身可能没有构造函数参数,但是您可以通过使用抽象成