Java中是否有类似JSON的对象?

时间:2016-11-18 21:36:52

标签: java

在C#中,你可以做到

var cat=new {amount=4,sound="mouw",food="fish"};

然后你做

print("My cat ate "+cat.food+" "+cat.amount+"es");

然后它会打印

My cat ate 4 fishes

像这样的Java有什么酷的吗?

3 个答案:

答案 0 :(得分:2)

我认为你所寻找的是对象。您可以自己定义它们,例如

class Cat {
    int amount;
    String sound;
    String food;

    Cat(int amount, String sound, String food) {
       this.amount = amount;
       this.sound = sound;
       this.food = food;
    }
}

然后有一个主要的课程,

public class Main {
    public static void main(String[] args) {
        Cat cat = new Cat(4, "mouw", "fish");
        System.out.println("My cat ate " + cat.amount + " " + cat.amount + "es");
    }
}

这是一个很好的资源,可以帮助您入门:

答案 1 :(得分:0)

Project Valhalla会在语言中引入Value Types,但我们还没有在Java 9中得到这个。由于您使用的是var关键字,我还想引用{{3关于局部变量类型推断。这些都没有(现在)在Java中可用。

也许我误解了你的问题而你只是寻找普通的旧Java对象,然后JEP-286的答案会帮助你。

答案 2 :(得分:-1)

它不像JSON对象,但在Java中,您可以使用枚举或类来执行您想要执行的操作。例如,做类似的事情:

public enum Cat{
    String food = "fish"; 
    String amount = "5";
 }

然后就像你的例子一样:

System.out.println("My cat ate "+Cat.food+" "+Cat.amount+"es");

或者你可以使用一个类并做类似的事情来完成同样的事情(这可能是一个更好的主意)。