zoukankan      html  css  js  c++  java
  • Jackson解析自定义json到实体类

    json文本

    {
        "status": 0,
        "result": {
            "final": true,
            "hypotheses": [{
                "likelihood": 333.86676025390625,
                "transcript": "温格你家,",
                "word-alignment": [{
                    "word": "温",
                    "start": 3.4799999222159386,
                    "length": 0.20999999530613422
                },
                {
                    "word": "格",
                    "start": 3.689999917522073,
                    "length": 0.29999999329447746
                },
                {
                    "word": "你家",
                    "start": 4.229999905452132,
                    "length": 0.3899999912828207
                }]
            }]
        },
        "segment-start": 0,
        "segment-length": 5.6099998746067286,
        "total-length": 5.9658750000000005,
        "segment": 0,
        "id": "d5e52f52-3d18-4f3e-9379-902183f3ac25"
    }
    {
        "status": 0,
        "result": {
            "final": true,
            "hypotheses": [{
                "likelihood": 179.34283447265625,
                "transcript": "温格你家小朋友今年上。",
                "word-alignment": [{
                    "word": "温",
                    "start": 0.6899999845772982,
                    "length": 0.20999999530613422
                },
                {
                    "word": "格",
                    "start": 0.8999999798834324,
                    "length": 0.2699999939650297
                },
                {
                    "word": "你家",
                    "start": 1.4399999678134918,
                    "length": 0.3899999912828207
                },
                {
                    "word": "小朋友",
                    "start": 1.8299999590963125,
                    "length": 0.6299999859184027
                },
                {
                    "word": "今年",
                    "start": 2.5199999436736107,
                    "length": 0.41999999061226845
                },
                {
                    "word": "上",
                    "start": 2.969999933615327,
                    "length": 0.47999998927116394
                }]
            }]
        },
        "segment-start": 5.9658750000000005,
        "segment-length": 4.0799999088048935,
        "total-length": 10.215875,
        "segment": 1,
        "id": "d5e52f52-3d18-4f3e-9379-902183f3ac25"
    }

    解析方法:

    import com.fasterxml.jackson.databind.ObjectMapper;
    import java.io.IOException;
    
        ObjectMapper objectMapper = new ObjectMapper();
         try {
    
               ASRRecognizedResponse response = objectMapper.readValue(json, ASRRecognizedResponse.class);
               System.out.println(response);
            } catch (IOException e) {
                e.printStackTrace();
            }

    相关实体类

    import com.fasterxml.jackson.annotation.JsonProperty;
    import lombok.Data;
    import lombok.NoArgsConstructor;
    
    @Data
    @NoArgsConstructor
    public class ASRRecognizedResponse
    {
        private String status;
        private String message;
    
        private Result result;
    
        @JsonProperty("segment-start")
        private String segmentStart;
    
        @JsonProperty("segment-length")
        private Float segmentLength;
    
        @JsonProperty("total-length")
        private Float totalLength;
    
        private short segment;
    
        private String id;
    }
    import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
    import lombok.Data;
    import lombok.NoArgsConstructor;
    
    @Data
    @NoArgsConstructor
    @JsonIgnoreProperties("word-alignment")
    public class Hypotheses
    {
        private Float likelihood;
        private String transcript;
    }
    import com.fasterxml.jackson.annotation.JsonProperty;
    import lombok.Data;
    import lombok.NoArgsConstructor;
    
    import java.util.List;
    
    @Data
    @NoArgsConstructor
    public class Result{
    
        @JsonProperty("final")
        private Boolean finished;
    
        private List<Hypotheses> hypotheses;
    }
  • 相关阅读:
    梯度下降进阶
    梯度下降基础
    python---matplotlib
    python---numpy
    浅析Jupyter Notebook
    anaconda安装
    机器学习---导学
    python---线程与进程
    mapping values are not allowed in this context at line 115 column 10
    laravel进行单元测试的时候如何模拟数据库以及mockery的调用
  • 原文地址:https://www.cnblogs.com/passedbylove/p/11849192.html
Copyright © 2011-2022 走看看