按名称设置方法参数?

时间:2017-07-14 04:20:08

标签: java json

是否可以按名称设置方法参数,就像在JavaScript中一样:

类似的东西:

void function(? jsonObject){
    // ...
}

function({ "color": "red", "age": 10 });

或者

function({ color: "red", age: 10 });

3 个答案:

答案 0 :(得分:1)

不,你不能。但是,有其他选择:

  1. 您可以使用JSON到Java对象库(例如Jackson)。使用此方法,您可以将JSON转换为对象。

  2. 如果您需要Javascript支持,可以使用本机javascript引擎Nashorn。

答案 1 :(得分:0)

您可以使用任何序列化/反序列化库(如GSON)来实现Object to JSON反之亦然。以下是Pojo示例。

public class Plant{
      private String color;
      private int age;
      //Getter and Setter
      //toString() implement as you want
    }
 private void displayPlant(Plant plant){
      System.out.println(plant)
    }

如果您需要有关GSON的更多详细信息,请与我们联系。

答案 2 :(得分:0)

在Java中,您可以将JSON读取为String对象,然后解析为有效对象OR Map,如:

import com.fasterxml.jackson.core.JsonGenerationException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;


void function(String jsonObject){
   YourClass obj = mapper.readValue(jsonObject, YourClass.class);
   System.out.println(obj);

}
相关问题