问题标签 [servicestack-text]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - ServiceStack.Text 和 DeserializeFromString
我最承认我可能忘记了一些非常简单的事情,但我不知道是什么
我有一堂课:
然后我从 URL 中获取 Json 字符串并尝试将其反序列化为:
json
字符串是:
或者对于那些不习惯 C#
返回的对象是:
我错过了什么?
servicestack-text - ServiceStack 与 StackExpress 和 StackExpress 的非预发布版本
我想知道 StackExpress 和 ServiceStack 之间的唯一区别是否在于 .net 4 的动态处理,它在 StackExpress 但不在 ServiceStack 中。(特别是在 servicestack.text )
因此,StackExpress 是否会成为非预发布版本,如果不是,stackexpress 中的 .net 4 动态功能是否可以在主 servicestack.text 库中使用?
(servicestack 中的动态特性是必要的,但没有 stackexpress 作为发布版本会阻止直接的包构建)
c#-4.0 - ServiceStack 中等效的类属性 [JsonConverter(typeof(StringEnumConverter))]
ServiceStack中是否有[JsonConverter(typeof(StringEnumConverter))]等价的属性类?这是用于将枚举转换为字符串的 Newtonsoft?
f# - F# 是否知道它的可区分联合的编译形式?
F# 中的可区分联合被编译为抽象类,其选项成为嵌套的具体类。
DU 是抽象的,而 DU.A 和 DU.B 是具体的。
使用 ServiceStack,可以使用函数自定义类型到 JSON 字符串和返回的序列化。关于 DU 类型,以下是我在 C# 中的操作方法。
F# 是否知道它的可区分联合的编译形式?如何在编译时获得 F# 中的 DU.A 类型?
我可以很容易地在 F# 中注册一个反序列化函数。
是否可以在 F# 中为具体类型 DU.A 和 DU.B 完全注册序列化函数?
servicestack - ServiceStack Json Serializer 忽略属性
我有一个业务要求,即只在我们的响应负载中发送许可的属性。例如,我们的响应 DTO 可能有几个属性,其中之一是 SSN。如果用户没有查看 SSN 的权限,那么我绝不希望它出现在 Json 响应中。第二个要求是,如果客户端有权查看或更改属性,我们发送空值。由于第二个要求,将用户无法查看的属性设置为 null 将不起作用。我仍然必须返回空值。
我有一个可行的解决方案。我通过我的 DTO 反射创建了一个 expandoObject,并且只添加了我需要的属性。这在我的测试中有效。
我看过实现 ITextSerializer。我可以使用它并将我的响应 DTO 包装在另一个具有要跳过的属性列表的对象中。然后我可以推出我自己的 SerializeToString() 和 SerializeToStream()。在这一点上,我真的没有看到任何其他方式。我不能使用 JsConfig 并制作 SerializeFn,因为要跳过的属性会随着每个请求而改变。
所以我认为实现 ITextSerializer 是一个不错的选择。有没有很好的例子来实现这一点?我真的很想利用序列化程序中已经完成的所有艰苦工作,并利用出色的性能。我认为在理想的世界中,我只需要在 WriteType.WriteProperties() 中添加一个检查即可查看,并且该属性是要写入的,但这是内部的,实际上,它们中的大多数都是所以我真的无法接受他们的优势。
如果有人有一些见解,请告诉我!也许我正在使 ITextSerialzer 的实现变得更加困难,实际上是这样吗?
谢谢!
拉取请求#359将属性“ExcludePropertyReference”添加到 JsConfig 和 JsConfigScope。您现在可以像我需要的那样排除范围内的引用。
c# - 为什么使用ServiceStack Json Serializer从json字符串反序列化的对象不需要构造函数
我想知道为什么不需要构造函数将 json 字符串反序列化为 .Net/C# 类对象实例。我很惊讶构造函数根本没有被调用并将其删除,并且反序列化器仍然从 json 字符串创建了一个对象实例。这是正常的吗?
(我使用ServiceStack的json序列化器)
c# - 摆脱 servicestack.text json de/serialization 中的时区部分?
你们知道如何从 servicestack.text JsonSerializer 的结果中消除 TimeZone 部分吗?目前是这样的
2015-06-30T23:59:00.0000000+08:00
, 我希望它是
2015-06-30T23:59:00.0000000
多谢!
serialization - 用于反序列化的 JsConfig.EmitLowercaseUnderscoreNames
我的 REST 客户端需要 lowercase_underscore_names。
JsConfig.EmitLowercaseUnderscoreNames
设置仅适用于序列化 (JSON)。
现在我使用DataContract
和DataMember
属性来正确反序列化我的模型。
但是有没有通用的方法来实现这一点?
servicestack - ServiceStack 返回 JSV 而不是 JSON
我有一个使用 ServiceStack 创建的服务。最近我更新了 ServiceStack 库,现在我得到的是 JSV 响应而不是 JSON 响应。
该请求类似于:
响应看起来像:
请注意,我已将响应中的 JSV 剪裁了一些,以使其更易于阅读,因此,该示例的 Content-Length 将不正确。
据我了解,ServiceStack 的默认 ContentType 应该是JSON
那么为什么我要返回 JSV 的 ContentType 为 application/json 呢?
编辑:
这是我的请求 dto 的样子:
这是我的服务的样子:
这是我的投票响应的样子:
json - 从 Fiddler / REST 控制台发送的 ServiceStack 服务消息中丢失引号
在 RestConsole / Fiddler 中,我发送以下 RAW JSON Body
身体类型设置为application/json
。现在我有一个这样的实体
Payload 属性具有以下字符串。
所以所有的问号 ( "
) 都不见了!
我究竟做错了什么?如何正确编写请求正文?