Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.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 HttpMessageNodeTableException:无法读取JSON:无法分析日期值';I';_Java_Android_Spring_Rest_Spring Boot - Fatal编程技术网

Java HttpMessageNodeTableException:无法读取JSON:无法分析日期值';I';

Java HttpMessageNodeTableException:无法读取JSON:无法分析日期值';I';,java,android,spring,rest,spring-boot,Java,Android,Spring,Rest,Spring Boot,下面是代码、json文件和我在执行代码时得到的异常 //代码 private class HttpRequestTask extends AsyncTask<Void, Void, ShiftPlannerModel[]> { @Override protected ShiftPlannerModel[] doInBackground(Void... params) { try {

下面是代码、json文件和我在执行代码时得到的异常

//代码

private class HttpRequestTask extends AsyncTask<Void, Void, ShiftPlannerModel[]> {
            @Override
            protected ShiftPlannerModel[] doInBackground(Void... params) {
                try {
                    RestTemplate restTemplate = new RestTemplate();
                    restTemplate.getMessageConverters().add(new MappingJackson2HttpMessageConverter());
                    ResponseEntity<ShiftPlannerModel[]> greeting = restTemplate.getForEntity(URL, ShiftPlannerModel[].class);
                    Log.i(greeting.getBody().toString(), "doInBackground: ");
                    return greeting.getBody();
                } catch (Exception e) {
                    Log.e("doInBackgrouExcp", e.getMessage(), e);
                }
//读取上述JSON格式时发生异常

04-18 07:07:09.089 31444-31460/?E/doInBackgrouExcp:无法读取JSON:无法分析日期值“I”(格式:“yyyy-MM-dd”): 不可解析日期:“I”(通过参考链: com.example.admin.myapplication.ShiftPlannerModel[“shiftPlannerDate”]; 嵌套异常是 com.fasterxml.jackson.databind.JsonMappingException:未能分析 日期值“I”(格式:“yyyy-MM-dd”):不可解析的日期:“I”(通过 参考链: com.example.admin.myapplication.ShiftPlannerModel[“shiftPlannerDate”]) org.springframework.http.converter.httpMessageNodeTableException: 无法读取JSON:无法分析日期值“I”(格式: “yyyy-MM-dd”):不可解析日期:“I”(通过引用链: com.example.admin.myapplication.ShiftPlannerModel[“shiftPlannerDate”]; 嵌套异常是 com.fasterxml.jackson.databind.JsonMappingException:未能分析 日期值“I”(格式:“yyyy-MM-dd”):不可解析的日期:“I”(通过 参考链: com.example.admin.myapplication.ShiftPlannerModel[“shiftPlannerDate”])


谢谢恐怖袋熊


糟糕的是,我已经检查了所有内容,但没有注意到我正在使用的Web服务不是Json格式的。我将更改Web服务,使其以json格式返回。

因此,您的代码似乎将第三个字段误认为第二个字段,为什么不显示有问题的代码?您好,我用模型对象编辑了我的问题。您确定这是有效的json吗?
    @JsonFormat(shape= JsonFormat.Shape.ARRAY)
public class ShiftPlannerModel {

    ShiftPlannerModel(){}

    @JsonFormat
            (shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    private Date shiftPlannerDate;
    private String resourceName;
    private String shiftName;


    public ShiftPlannerModel(Date shiftPlannerDate, String resourceName, String shiftName) {
        this.shiftPlannerDate = shiftPlannerDate;
        this.resourceName = resourceName;
        this.shiftName = shiftName;
    }

 //setters and getters
    public static ArrayList<ShiftPlannerModel> fromJson(JSONArray jsonArray) {
        JSONObject businessJson;
        ArrayList<ShiftPlannerModel> businesses = new ArrayList<ShiftPlannerModel>(jsonArray.length());
        // Process each result in json array, decode and convert to business object
        for (int i=0; i < jsonArray.length(); i++) {
            try {
                businessJson = jsonArray.getJSONObject(i);
            } catch (Exception e) {
                e.printStackTrace();
                continue;
            }

            ShiftPlannerModel business = ShiftPlannerModel.fromJson(businessJson);
            if (business != null) {
                businesses.add(business);
            }
        }

        return businesses;
    }
    // Decodes business json into business model object
    public static ShiftPlannerModel fromJson(JSONObject jsonObject) {
        ShiftPlannerModel shiftPlannerModel = new ShiftPlannerModel();
        // Deserialize json into object fields
        try {
//            shiftPlannerModel.resource = jsonObject.getString("resourceName");
//            shiftPlannerModel.ShiftName = jsonObject.getString("resourceId");
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Date workingDays = sdf.parse(jsonObject.getString("shiftPlannerDate"));
//            shiftPlannerModel.shiftPlannerDate = workingDays;

            shiftPlannerModel.setResourceName(jsonObject.getString("resourceName"));
            shiftPlannerModel.setShiftName(jsonObject.getString("shiftName"));
            shiftPlannerModel.setShiftPlannerDate(workingDays);

        } catch (JSONException e) {
            e.printStackTrace();
            return null;
        } catch (ParseException e) {
            e.printStackTrace();
        }
        // Return new object
        return shiftPlannerModel;
    }
}
  [
        [
            "2018-04-16",
            "Elias",
            "I"
        ],
        [
            "2018-04-16",
            "Sithik",
            "II"
        ],
        [
            "2018-04-17",
            "Vijay",
            "II"
        ],
----------------------------