【问题标题】:Pass through JSON with Servicestack使用 Servicestack 传递 JSON
【发布时间】:2014-01-09 10:57:24
【问题描述】:

我想给出一个 JSON 响应,其中一个字段只包含来自另一个来源的 JSON 字符串。 (我正在使用 PostGIS 返回一组 GeoJSON 字符串的功能。)我已经验证 PostGIS 以正确的 JSON 响应,将其存储为字符串,然后希望将其传递给响应对象。

有什么方法可以让 Servicestack 响应对象简单地将这段 JSON 直接包含到它的 JSON 中?

【问题讨论】:

    标签: json servicestack


    【解决方案1】:

    您应该使用RawSerializeFn,它允许您将自己的序列化方法附加到对象。

    方法:

    我会像这样创建一个名为 RawJsonData 的对象:

    public class RawJsonData
    {
        public string JsonData { get; set; }
        public RawJsonData(string json)
        {
            JsonData = json;
        }
    }
    

    然后在您的应用程序配置中调用此命令以附加自定义序列化程序:

    JsConfig<RawJsonData>.RawSerializeFn = c=> c.JsonData;
    

    这只是将 JsonData 中的数据作为原始 Json 返回。

    用法:

    在您的响应对象中,只需创建一个RawJsonData 对象并填充它的值。然后当它被序列化时,它会序列化原始数据。

    public class MyResponse
    {
        public RawJsonData MyJson { get; set; } // My contents will serialize raw!
        ...
        public string NormalStringValue { get; set; } // Normal string
        public int NormalIntValue { get; set; }
    }
    
    var response = new MyResponse { MyJson = new RawJsonData("YOUR RAW JSON HERE"), /* Other Values etc */ };
    

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 2013-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多