package com.alibaba.json.bvt.jdk8;
import java.util.Optional;
import org.junit.Assert;
import com.alibaba.fastjson.JSON;
import junit.framework.TestCase;
public class OptionalTest3 extends TestCase {
public void test_optional() throws Exception {
UserExt ext = new UserExt();
ext.setValue(Optional.of(123));
User user = new User();
user.setExt(Optional.of(ext));
String text = JSON.toJSONString(user);
Assert.assertEquals("{\"ext\":{\"value\":123}}", text);
User user2 = JSON.parseObject(text, User.class);
Assert.assertEquals(user.getExt().get().getValue().get(), user2.getExt().get().getValue().get());
}
public static class User {
private Optional<UserExt> ext;
public Optional<UserExt> getExt() {
return ext;
}
public void setExt(Optional<UserExt> ext) {
this.ext = ext;
}
}
public static class UserExt {
private Optional<Integer> value;
public Optional<Integer> getValue() {
return value;
}
public void setValue(Optional<Integer> value) {
this.value = value;
}
}
}