首页 > 解决方案 > 为什么有些值与 java/json 中的标签不匹配?

问题描述

我遇到了一个问题,我将每小时、每两周和每年的行结合起来显示在一个对象中,但由于某种原因,每两周和每年的值与我的每小时值相同。我只想让我的双周值和年度值与其 rate_type 行匹配。谁能帮我解决这个问题。谢谢您的帮助。

这是我的结果:

    [
    {
        "id": "7777",
        "label": "NONE",
        "pay_grade_description_link": "7777",
        "mou": "00",
        "mou_description": "NONE",
        "Hourly": [
             "      $10.00",

        ],
        "Biweekly": [
            "      $10.00",

        ],
        "Annual": [
            "      $10.00",

        ]
    } 

Jsonserializer:

    public class AutoCompleteSerializer extends StdSerializer<AutoComplete> {

    public AutoCompleteSerializer() {

        this(null);
    }

    public AutoCompleteSerializer(Class<AutoComplete> t) {
        super(t);
    }


    public void serialize(AutoComplete value, JsonGenerator jgen, SerializerProvider provider) throws IOException {


        jgen.writeStartObject();

        jgen.writeStringField("id", value.jobClassCd + value.payGrade);
        jgen.writeStringField("label", value.jobClassTitle + value.jobClassCd + value.payGrade);
        jgen.writeStringField("pay_grade_description_link", value.jobClassCd);

        jgen.writeStringField("mou", value.mou);
        jgen.writeStringField("mou_description", value.mouDescription);


             List<String> jobs = Arrays.asList(nullIfWhitespace(value.step1),
                    nullIfWhitespace(value.step2), nullIfWhitespace(value.step3),
                    nullIfWhitespace(value.step4), nullIfWhitespace(value.step5),
                    nullIfWhitespace(value.step6), nullIfWhitespace(value.step7),
                    nullIfWhitespace(value.step8), nullIfWhitespace(value.step9),
                    nullIfWhitespace(value.step10), nullIfWhitespace(value.step11),
                    nullIfWhitespace(value.step12), nullIfWhitespace(value.step13),
                    nullIfWhitespace(value.step14), nullIfWhitespace(value.step15));



        jgen.writeObjectField("Hourly", jobs);
        jgen.writeObjectField("Biweekly", jobs);
        jgen.writeObjectField("Annual", jobs);


         jgen.writeEndObject();


    }


private String nullIfWhitespace(String steps) {
        return steps.trim().equals("") ? null : steps;

    }



}

标签: javajsonspring-boot

解决方案


推荐阅读