Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Android API_Java_Gson_Java 7_Android - Fatal编程技术网

Java 如何在Android API

Java 如何在Android API,java,gson,java-7,android,Java,Gson,Java 7,Android,我目前的反应是: [ "2017-12", "2018-01", "2018-02", "2018-03" ] 应该转换为YearMonth。但由于Android在API 26之前不支持YearMonth,所以我不能在我的应用程序中使用它 我不需要YearMonth有什么特别的功能。我想要的只是能够从/到字符串反序列化。我怎样才能做到这一点 我目前正在使用Gson。基本上,您只需对字符串[]进行反序列化。请参见以下测试用例: @Slf4j public class YearMo

我目前的反应是:

[
  "2017-12",
  "2018-01",
  "2018-02",
  "2018-03"
]
应该转换为YearMonth。但由于Android在API 26之前不支持YearMonth,所以我不能在我的应用程序中使用它

我不需要YearMonth有什么特别的功能。我想要的只是能够从/到字符串反序列化。我怎样才能做到这一点


我目前正在使用Gson。

基本上,您只需对字符串[]进行反序列化。请参见以下测试用例:

@Slf4j
public class YearMonthStringTest {

    public static final String json = 
            "[\n"
            + "  \"2017-12\", \n"
            + "  \"2018-01\", \n"
            + "  \"2018-02\", \n"
            + "  \"2018-03\" \n"
            + "]";

    @Test
    public void fromJsonTest() {
        String[] strs = new Gson().fromJson(json, String[].class);
        Arrays.asList(strs).forEach(str -> {
            log.info("{}", str);
        });
    }

    @Test
    public void toJsonTest() {
        String[] str = new String[] { "2001-01", "1984-02"
                                    , "1878-11", "0000-12" };
        String jsonFromArray = new GsonBuilder()
                .setPrettyPrinting().create().toJson(str);
        log.info("json from array:\n{}", jsonFromArray);
    }

}
YearMonth是在Java8中引入的,所以这是更一般的Java7问题