用lambda表达式创建一个json对象
时间: 2023-07-26 14:31:41 浏览: 133
可以使用Lambda表达式创建一个json对象,例如:
```java
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
Map<String, Object> person = createJson(() -> {
Map<String, Object> json = new HashMap<>();
json.put("name", "Alice");
json.put("age", 30);
Map<String, String> address = new HashMap<>();
address.put("city", "Beijing");
address.put("country", "China");
json.put("address", address);
return json;
});
System.out.println(person);
}
private static Map<String, Object> createJson(JsonSupplier supplier) {
return supplier.get();
}
@FunctionalInterface
interface JsonSupplier {
Map<String, Object> get();
}
}
```
上述代码中,我们定义了一个函数式接口`JsonSupplier`,该接口表示一个没有输入参数,返回`Map<String, Object>`类型的函数。然后,我们定义了一个名为`createJson`的静态方法,该方法接受一个`JsonSupplier`类型的参数,并返回该接口的返回值。在`main`方法中,我们使用Lambda表达式创建了一个`JsonSupplier`的实例,该实例创建了一个json对象,并设置了其属性。最后,我们调用`createJson`方法,将Lambda表达式作为参数传递,并打印出json对象的内容。
阅读全文