json - 使用 Servicestack 传递 JSON

标签 json servicestack

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

有什么方法可以让 Servicestack 响应对象直接将这段 JSON 直接包含到其 JSON 中吗?

最佳答案

您应该使用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 */ };

希望对您有所帮助。

关于json - 使用 Servicestack 传递 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20706007/

相关文章:

javascript - 如何通过 javascript 根据 json 输入预先选择动态创建的单选按钮

caching - servicestack - 使用 redis 缓存服务响应

sql - ServiceStack.OrmLite.JoinSqlBuilder 是否允许构建一个简单的查询

c# - 如果其中一个验证规则失败,则跳过执行 Fluent 验证规则集中的其他验证规则

django - 如何将 JSON 对象从 Django 传递给 FullCalendar(通过序列化模型)?

json - 将 Pandas DataFrame 转换为 JSON 格式

c# - ServiceStack 支持在每次调用的基础上有条件地从 REST 响应中省略字段

c# - OrmLite for ServiceStack 3 不支持可空枚举属性?

java - Jackson转换执行时间/顺序和@JsonAnySetter

c# - 将 JSON 反序列化为可读格式