zoukankan      html  css  js  c++  java
  • jack反序列化自定义字段绑定,报错:can only instantiate non-static inner class by using default, no-argument constructor

    package com.xxx;
    
    import com.fasterxml.jackson.annotation.JsonProperty;
    import lombok.Data;
    import lombok.NoArgsConstructor;
    
    import java.util.List;
    
    public class TestJsonNode {
    
        @Test
        public void test()
        {
            String json = "{"status": 0, "segment": 0, "result": {"hypotheses": [{"transcript": "原 的 "}], "final": false}, "id": "ba040ef0-9134-46f3-8a95-cc9b70868c07"}";
            ObjectMapper objectMapper = new ObjectMapper();
            try {
    //            JsonNode node = objectMapper.readTree(json);
    //            boolean containsStatusField = node.has("status");
    //            if(!containsStatusField)
    //            {
    //                System.out.println("服务器异常");
    //            }
    //
    //            int status = node.findValue("status").intValue();
                //System.out.println(status);
    
                ASRConversionResponse response = objectMapper.readValue(json, ASRConversionResponse.class);
    
                System.out.println(response);
    
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
    @Data
    @NoArgsConstructor
    public class ASRConversionResponse
    {
        private Integer status;
        private String message;
    
        private List<Result> result;
    
        @JsonProperty("segment_start") //此处为自定义字段绑定类型
        private Float segmentStart;
    
        @JsonProperty("segment_length")
        private Float segmentLength;
    
        @JsonProperty("total_length")
        private Float totalLength;
    
        private short segment;
    
        private String id;
    
    }
    
    @Data
    @NoArgsConstructor
      class Result{
    
        @JsonProperty("final")
        private Boolean _final;
    
        private List<Hypotheses> hypotheses;
    }
    
    @Data
    @NoArgsConstructor
      class Hypotheses
    {
        private Float likelihood;
        private String transcript;
    }
    
    }

    出错原因:把ASRConversionResponse内部类提出来,单独新建一个类ASRConversionResponse.java

  • 相关阅读:
    4.graph.h
    3.俄罗斯方块项目
    3.栈的实现
    26.多线程
    25.Detours劫持技术
    codeforces 616E Sum of Remainders (数论,找规律)
    poj2387 Til the Cows Come Home 最短路径dijkstra算法
    poj1274 The Perfect Stall (二分最大匹配)
    poj1459 Power Network (多源多汇最大流)
    Oracle RAC/Clusterware 多种心跳heartbeat机制介绍 RAC超时机制分析
  • 原文地址:https://www.cnblogs.com/passedbylove/p/11316538.html
Copyright © 2011-2022 走看看