问题标签 [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.

0 投票
1 回答
724 浏览

c# - 如何防止 ServiceStack 将空请求参数值反序列化为 null?

我有一个非常简单的 ServiceStack 服务,我通过JSONServiceClientc# 类型的 API 调用它。

但是,当我在Requestparams 中有空参数时,ServiceStack 会将其反序列化为空值。我看过,似乎在 JSV 中它是设计使然,但 JSON 应该保留非空值。我现在还设置了以下两个设置,Global.asax.cs但没有任何改进:

我正在使用 ServiceStack 3.9.69 版和 IIS 8.0 版。

0 投票
1 回答
380 浏览

c# - 让 ServiceStack 使用“默认”JSON 而不是 JSV 来解析 HTTP Get 中的类

如对这个问题的回答所示,ServiceStack 默认情况下在 QueryString 中传递复杂对象时使用JSV 格式。

是否可以将 ServiceStack 设置为使用“默认”JSON 而不是 JSV?喜欢而不是这样做:

http://server.com/fooservice/servicestack/foo?Color1=blue&Dto= {Color2:red}

我宁愿通过:

http://server.com/fooservice/servicestack/foo?Color1=blue&Dto= {"Color2":"red"}

有什么办法吗?

0 投票
1 回答
14673 浏览

c# - 使用 ServiceStack.Text 将 json 字符串反序列化为对象

我有一个 JSON 字符串,如下所示:

我正在尝试将其反序列化为object(我正在实现缓存接口)

我遇到的麻烦是当我使用

它回来了

“{Id:6ed7a388b1ac4b528f565f4edf09ba2a,姓名:John,DateOfBirth:/Date(317433600000-0000)/}”

那正确吗?

我不能断言任何东西......我也不能使用动态关键字......

有没有办法从 ServiceStack.Text 库中返回一个匿名对象?

0 投票
0 回答
342 浏览

json - serviceStack.Text .ToJson 扩展方法选项为空列表输出空数组财产

搭建舞台还有一些工作,所以请多多包涵……

我正在使用敲除数据绑定一个相当深的嵌套数据结构。当我从数据库(使用 Mongo C# 驱动程序从 MongoDB 中)检索数据时List<T>,存在未填充的嵌套属性(类型为 )并返回为 null。我正在使用 ServiceStack.Text .ToJson 扩展方法将此数据结构序列化为 JSON,然后将其传递给客户端以用于 knockoutMapper 以转换为我的可观察视图模型。一切顺利,除了List<T>服务器上的属性为空。由于它们以空值到达客户端,knockoutMapper 只是使它们成为可观察的而不是可观察的数组。现在的问题......有没有办法告诉ServiceStack我想要任何类型的属性List<T>那是空的要序列化为空数组吗?我已经挖掘了 JsConfig 对象以找到一个看起来可能有帮助但没有任何运气的设置。我是否在 JsConfig 中遗漏了某些内容,或者这是我应该在客户端的 knockoutMapping 中做的事情?

编辑:请注意 - 这是一个边项目,我正在学习 3-4 项新技术,我已经看到从 Mongo 检索 JSON 是多么荒谬,使用 C# 驱动程序将其转换为 POCO 以使用它在服务器上,然后使用 serviceStack 将 POCO 序列化为 JSON。我计划通过直接使用 JSON 来改变这一点,但这对我来说是一个学习过程。

0 投票
1 回答
74 浏览

servicestack - 在 ServiceStack 中序列化 CustomUserSession

我们正在尝试将 Redis ICacheClient 与 CustomUserSession 一起使用,但我们的自定义属性未存储。问题似乎出在序列化程序创建的 json 中。

这里有一个测试:

测试根本没有序列化,有什么提示吗?

0 投票
1 回答
126 浏览

c# - ServiceStack.Text 错误的 Json 解析

我正在尝试解析来自 MtGox 股票代码的 json。 http://data.mtgox.com/api/2/BTCUSD/money/ticker

我尝试了两种方法,结果相同。

  1. JsonObject d1 = JsonSerializer.DeserializeString(downloadeddata)
  2. JsonObject d2 = JsonObject.Parse(downloadeddata)

当我尝试访问 d1["data"] 时,它似乎是反序列化的完美字符串 =>

当我尝试使用上述两个选项中的任何一个反序列化后一个字符串时,我得到了这个

这远非事实。在我看来,这个结果是错误的,甚至无法解析 json。=> {[货币:美元},低:{价值:515.00000]}

MS Javascript 序列化程序工作正常。

那么我做错了什么?

谢谢

0 投票
2 回答
67 浏览

c# - Servicestack.Text 不解析 json

我正在从文件中读取 json 并序列化为任何对象,如下所示:

json 文本是正确的,因为我在移至 ServiceStack 之前使用的是 Newtonsoft.Json。

但是,在序列化之后,对象 'o' 没有被相应地设置(即为空或在对象的构造函数中设置了默认值)。

是类:

有什么问题?

0 投票
1 回答
396 浏览

c# - CSV 继承类型的序列化

我正在尝试使用 ServiceStack.Text 库将一些记录序列化为 CSV。

我正在使用继承,特别是抽象类,并且没有输出子类型的属性。是的,我知道是一个坏主意,但因为我不需要反序列化类型,而且我没有制作公共 API。无论如何,文档似乎支持这种情况。

对于这个例子:

以及要序列化的代码:

CSV 序列化器输出这个(不是我想要的):

但是,JSV 序列化程序似乎表现得如预期:

为什么字段输出存在差异,无论如何我可以让 CSV 序列化器输出所有子属性吗?

0 投票
1 回答
293 浏览

servicestack - 如何控制被序列化的属性的顺序

我想说,这个属性在序列化的 json 中必须是第一个。我们的 json 结构包括资源的 href,我们希望它是 json 中的第一个属性。可能吗?

0 投票
1 回答
457 浏览

json - 如何将 F# Union 类型与 Servicestack JSON 序列化一起使用?

我想我对框架的要求太多了。但只是想知道这是否可能。或者解决这个问题的方法。

新版本的 JSON.Net 开始支持 F# 联合类型。解决这个问题的方法是什么,意味着如果我使用的是 servicestack.text,那么我该如何展平联合类型以支持序列化。

这是两者的代码示例。

使用 servicestack 的反序列化返回 false。与 JSON.net 相比,生成的 json 字符串也相当复杂。

如何为联合类型实现正确的序列化?