問題タブ [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 に答える
1072 参照

c# - 日付が JSON の UTC であっても ServiceStack がローカル時間を出力するのはなぜですか?

簡単に言うと、ServiceStack.Text の JSON パーサーを介して日付を往復すると、タイム ゾーン情報が失われます。奇妙なことに、DateTimeSerializerTests.DateTime_Is_Serialized_As_Utc_and_Deserialized_as_local()この動作を予期しているようで、UTC として解析されたすべての日時オブジェクトをDateTimeSerializer.Prepare()明示的に呼び出します!ToLocalTime()

テスト ケースの例を次に示します (MSTest ですが、どんな環境でも簡単に実行できます)。ローカルは渡しますが、UTC と Unspecified は渡しません。DateTime オブジェクトによって返される種類は常に「Local」です。

なぜこのデフォルトの動作なのですか?JsConfig.AlwaysUseUtcローカルのタイムスタンプをローカルとして解析することもできないため、ここでの使用は良い回避策ではありません。

0 投票する
0 に答える
331 参照

c# - ServiceStack.Text が辞書をシリアル化しない

ServiceStack.Redis を使用して辞書を含むオブジェクトを格納する際に問題が発生しています。保存しようとしているオブジェクトは、次のように定義されています。

ほとんどのオブジェクトは正しくシリアル化されますが、Dictionary プロパティ (ExtendedProperties) はシリアル化されません。

JsConfig.IncludePublicFields = true を設定しようとしましたが、違いはないようです。

私を最も混乱させているのは、辞書が時々シリアル化されているように見えることです(ほとんどの場合、デバッガーでコードをステップスルーしているように見えます)が、再現可能ではありません。

ディクショナリを正常にシリアル化する方法について何か提案はありますか (Newtonsoft.Json を使用してオブジェクトを見つめてシリアル化し、その指示を Redis に保存する以外に)

どうもありがとう、

リチャード。

0 投票する
1 に答える
683 参照

.net - ServiceStack.Text JsonSerializer は、独自のシリアル化されたスキーマを逆シリアル化できません (型定義は、'{' SerializationException で開始する必要があります)

.NET で ServiceStack.Text を使用しています。次のインスタンスをシリアル化したい:

ResourceSpec は次のとおりです。

次の形式にシリアル化されます。

私がそれをデシリアライズしようとすると:

例外が発生します:

何が問題なのですか?

0 投票する
1 に答える
70 参照

c# - サービススタックで先頭の@文字を使用してJSONを逆シリアル化する

以下のスニペットは、ServiceStack アプリケーション内で発生している逆シリアル化の問題を再現しています。以下を実行すると、荷受人プロパティは正しく設定されますが、ID は設定されません。

JSON を生成しているライブラリは、一部の要素の前に @ を付けて、それらが XML 属性からのものであることを示していますが、このプログラムは私の手に負えません。JSON とオブジェクト プロパティの間で ServiceStack の名前が一致することを理解しています。

プロパティ名に @ を追加しようとしましたが、それは役に立ちません。

カスタムデシリアライザーを実装するプロセスを経ずに @id を id にデシリアライズするように ServiceStack に指示する方法はありますか?

0 投票する
2 に答える
921 参照

licensing - ServiceStack.Text 4.0.24 をインストールする ServiceStack 3.9.71 NuGet パッケージを停止するにはどうすればよいですか?

ServiceStack を使用するプロジェクトがあります。ServiceStack 4 には商用ライセンスが必要なので、4.x にアップグレードするのではなく、古い 3.9.x コードベースを実行しています。

私自身の API クライアントには、次のように.nuspecファイルで定義された依存関係があります。

問題は、ServiceStackパッケージが ServiceStack フレームワークの他のさまざまなビットに依存していることです。ServiceStack 3.9.71 をインストールすると、ServiceStack.Text v4.0.24 がプロジェクトにインストールれます。ライセンスの受け入れを要求するダイアログがポップアップします。これは、何か奇妙なことが起こっていることを警告するものです。私のプロジェクトで ServiceStack 4.x のライセンスされていないビットを使用していますか?

0 投票する
1 に答える
267 参照

asp.net-mvc - ASP.NET MVC ValueProvider での Json 逆シリアル化に ServiceStack.Text を使用する方法

コントローラーメソッドパラメーターの値バインディング中に、ASP.NET MVC 要求で文字列を逆シリアル化するために ServiceStack.Text Json シリアライザーを使用するにはどうすればよいですか?