Java 是否按名称设置方法参数?

Java 是否按名称设置方法参数?,java,json,Java,Json,是否可以像在JavaScript中那样,通过名称设置方法参数: 比如: void function(? jsonObject){ // ... } 及 或 不,你不能。但是,还有其他选择: 您可以使用JSON到Java对象库(例如Jackson)。通过这种方法,您可以将JSON强制转换为对象 如果需要Javascript支持,可以使用本机Javascript引擎Nashorn 您可以使用任何序列化/反序列化库(如GSON-to-for-Object-to-JSON-viceversa)

是否可以像在JavaScript中那样,通过名称设置方法参数:

比如:

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


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

  • 您可以使用JSON到Java对象库(例如Jackson)。通过这种方法,您可以将JSON强制转换为对象

  • 如果需要Javascript支持,可以使用本机Javascript引擎Nashorn


  • 您可以使用任何序列化/反序列化库(如GSON-to-for-Object-to-JSON-viceversa)。下面是一个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的更多详细信息,请告诉我。

    在Java中,您可以将JSON作为字符串对象读取,然后解析为有效对象或映射,如:

    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);
    
    }
    
    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)
        }
    
    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);
    
    }