日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

本文介紹了如何從JsonSchema中刪除引號的反斜杠?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我有一節(jié)課:

class Setting {

    String configurationName;
    String configuration; 
} 

我想返回配置的字符串表示形式。根據(jù)某些條件,這可以是不同的對象。

在以下一項服務(wù)中:

@GET
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Response getConfigurationSetting ()
{
    try {

        Setting settingPojo = new Setting();
        settingPojo.setCOnfigurationName("DataBase");

        ObjectMapper mapper = new ObjectMapper();

        SchemaFactoryWrapper visitor = new SchemaFactoryWrapper();

        mapper.acceptJsonFormatVisitor(OracleConfiguration.class, visitor);

        JsonSchema schema = visitor.finalSchema();

        settingPojo.setConfiguraton(mapper.writeValueAsString(schema));

        return Response.status(HTTP.CodeOK).entity(settingPojo).build();
    } catch (Exception ex) {
        // exception logic
    }
}

可以有如下所示的不同類:"MySQLConfiguration.class"。

示例:

{
    configurationName : "DataBase",
    configuration: "{
       "type":"object",
       "id":"urn":"jsonschema":"database":"model":"OracleConfiguration",
       "properties":{
          "numberOfConnection":{
             "type":"integer"
          },
          "connectionDate":{
             "type":"integer",
             "format":"utc-millisec"
          },
          "isconnected":{
             "type":"boolean"
          }
       }
    }"
}
  

上述輸出的問題:

    我要從字符串中刪除id屬性。
    我得到了用于轉(zhuǎn)義字符的奇怪的額外反斜杠。在調(diào)試和執(zhí)行mapper.WriteValueAsString(架構(gòu))時,我沒有看到這一點。但是,在我設(shè)置為Property之后,我看到了反斜杠和額外的引號。

您知道如何解決這些問題嗎?

推薦答案

    您可以使用MixIn功能指示Jackson刪除id。查看example。
    對象被序列化兩次,第一次是由您在控制器方法中直接進行的,第二次是Spring。

在您的示例中,您需要:
Setting類中使用@JsonRawValue批注:

class Setting {
    String configurationName;

    @JsonRawValue
    String configuration;
}

創(chuàng)建MixInabstract class

abstract class JsonSchemaWithoutId {

    @JsonIgnore
    public String id;

    @JsonIgnore
    public abstract String getId();
}

簡單用法:

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonRawValue;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.module.jsonSchema.JsonSchema;
import com.fasterxml.jackson.module.jsonSchema.factories.SchemaFactoryWrapper;
import lombok.Data;

import java.io.File;
import java.io.IOException;

public class JsonMixInAndSchemaApp {

    public static void main(String[] args) throws IOException {
        ObjectMapper mapper = new ObjectMapper();
        mapper.enable(SerializationFeature.INDENT_OUTPUT);
        mapper.addMixIn(JsonSchema.class, JsonSchemaWithoutId.class);

        Setting settingPojo = new Setting();
        settingPojo.setConfigurationName("Setting");

        SchemaFactoryWrapper visitor = new SchemaFactoryWrapper();
        mapper.acceptJsonFormatVisitor(Setting.class, visitor);
        JsonSchema schema = visitor.finalSchema();

        settingPojo.setConfiguration(mapper.writeValueAsString(schema));

        mapper.writeValue(System.out, settingPojo);
    }
}

上面的代碼打印

{
  "configurationName" : "Setting",
  "configuration" : {
  "type" : "object",
  "properties" : {
    "configurationName" : {
      "type" : "string"
    },
    "configuration" : {
      "type" : "string"
    }
  }
}
}

這篇關(guān)于如何從JsonSchema中刪除引號的反斜杠?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,

分享到:
標簽:JSONSchema 刪除 引號 斜杠
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定