小编Phi*_*röm的帖子

添加Camelcase约定包后反序列化错误

我正在使用最新的C#-driver for MongoDB.我将以下代码添加到我的程序中以在camelcase中序列化:

var camelCaseConvention = new ConventionPack { new CamelCaseElementNameConvention() };
ConventionRegistry.Register("CamelCase", camelCaseConvention, type => true);
Run Code Online (Sandbox Code Playgroud)

但是,在使用序列化后尝试查询文档时出现问题.例如:

var query = _collection.AsQueryable<TimeSeries>();
Console.WriteLine(query.ToJson());
Run Code Online (Sandbox Code Playgroud)

返回以下内容:

{ "_id" : ObjectId("54af0e848c27be15fc47a0d9"), "Name" : null, "Time" : null }
Run Code Online (Sandbox Code Playgroud)

即,除了id之外,所有属性似乎都是null.

对象序列化正确,字段名称为驼峰("名称"和"时间"),每个文档包含正确的数据("名称":测试1"和"时间":2014).

似乎问题是查询函数没有意识到字段在camelcase中,因此返回null.因此,我无法反序列化任何对象.

有什么办法可以避免这个错误吗?

c# mongodb deserialization mongodb-.net-driver

6
推荐指数
1
解决办法
591
查看次数

生成拼写错误的单词(错别字)

我已经实现了一个模糊匹配算法,我想使用一些带有测试数据的示例查询来评估它的召回率。

假设我有一个包含文本的文档:

{"text": "The quick brown fox jumps over the lazy dog"}
Run Code Online (Sandbox Code Playgroud)

我想看看我是否可以通过测试诸如“sox”或“hazy drog”而不是“fox”和“lazy dog”之类的查询来检索它。

换句话说,我想向字符串添加噪音以生成拼写错误的单词(错别字)。

自动生成带有拼写错误的单词以评估模糊搜索的方法是什么?

python nlp fuzzy-search

6
推荐指数
2
解决办法
3686
查看次数

将JSON字符串粘贴到Visual Studio中

我在Visual Studio中使用从我的数据库复制的JSON字符串运行一些C#单元测试,例如:

{ 
    "key" : "Foo", 
    "format" : "Bar"
}
Run Code Online (Sandbox Code Playgroud)

我想在我的代码中将JSON字符串解析为JObject:

 JObject.Parse(
    "{ 
        "key" : "Foo", 
        "format" : "Bar"
    }");
Run Code Online (Sandbox Code Playgroud)

但是,我不能这样做,因为Visual Studio不会转义字符串中的引号.

我知道我可以添加转义字符,但是,字符串可能很长,这意味着手动添加转义字符需要很长时间.

将复制的JSON字符串解析为JObject的最简单方法是什么?

c# json visual-studio visual-studio-2012

4
推荐指数
2
解决办法
7234
查看次数

在.NET MVC应用程序中处理JWT到期

我有一个ASP.NET MVC应用程序,它在Session中存储来自我的Web API的JWT令牌和刷新令牌.我的问题是当JWT令牌到期时该怎么办,是时候刷新它了.我认为我的两个选择是:

  1. 尝试使用JWT令牌向Web API发出请求,如果它返回401 Unauthorized,请尝试刷新JWT令牌.

  2. 使用计时器在JWT令牌到期之前自动刷新它.

使用这两种方法中的任何一种有什么好处,我如何以简单的方式以编程方式实现它们?例如,如果我使用选项1,是否必须使用try和catch来对API进行每次调用?

c# asp.net asp.net-mvc session jwt

3
推荐指数
1
解决办法
8314
查看次数