我正在尝试使用 .Net Json 反序列化器System.Text.Json来迭代以下 Json 输入。
如果“person_id”是 json 结构中的顶层(见下文),我找到了按“person_id”进行迭代的方法,但我无法找到循环遍历所有下一级项目的方法。
我认为 NewtonSoftJArray和JObject非常接近我所需要的(我可能会追求这一点),但不确定微软的解决方案是否有办法做到这一点......
System.Text.Json微软的库可以做到这一点吗?
{
"0": {
"person_id": "0",
"last_name": "Greg",
"first_name": "Craig",
},
"1": {
"person_id": "1",
"last_name": "Doe",
"first_name": "John",
}
}
Run Code Online (Sandbox Code Playgroud)
JsonElement通过属性名称提取对象的解决方案(即我可以通过这种方式获取 John Doe 的信息)。
using (JsonDocument document = JsonDocument.Parse(jsonString))
{
JsonElement root = document.RootElement;
JsonElement studentsElement = root.GetProperty("1");
}
Run Code Online (Sandbox Code Playgroud) 我想将参数传递给OnGet()方法,但它不稳定并且每次都不一样,例如:
test.com/book
test.com/book/page/word
test.com/book/page
test.com/book/page/word/...
Run Code Online (Sandbox Code Playgroud)
参数不稳定,是动态创建的。
我该如何处理这个问题?
我想在用户从应用程序注销时禁用生成的 JWT 令牌,这需要在后端代码中完成。如何使用身份验证服务器 (SpringBoot) 禁用 JSON Web 令牌 (JWT)
我正在尝试在特定端口(如 5000)上使用 ASP.NET Core 6 并行 REST API 运行 gRPC 服务器和客户端。我的意思是,我想使用 localhost:5000,但在检查了 的dotnetgRPC 模板之后,我发现Http2应该为 Kestrel 端点设置协议,appsettings.json如下所示:
{
"urls": "http://localhost:5000",
"Kestrel": {
"EndpointDefaults": {
"Protocols": "Http2"
}
}
}
Run Code Online (Sandbox Code Playgroud)
通过这样做,我遇到了一个问题,我的 REST API 不再工作,我猜这是因为Http2提供给 Kestrel 端点的协议,因为当我删除提供的协议 API 时,它可以正常工作;相反,gRPC 客户端无法工作。有什么办法可以并行运行两个端点吗?
当我刚开始作为初级 C# 开发人员时,我总是在代码审查期间被告知,如果我在给定范围内多次访问对象的属性,那么我应该在例程中创建一个局部变量,因为它比必须检索更便宜它来自对象。我从来没有真正质疑过它,因为它来自更多我当时认为知识渊博的人。
下面是一个基本的例子
示例 1:将对象标识符存储在局部变量中
public void DoWork(MyDataType object)
{
long id = object.Id;
if (ObjectLookup.TryAdd(id, object))
{
DoSomeOtherWork(id);
}
}
Run Code Online (Sandbox Code Playgroud)
示例 2:在需要时从对象属性的 Id 属性中检索标识符
public void DoWork(MyDataType object)
{
if (ObjectLookup.TryAdd(object.Id, object))
{
DoSomeOtherWork(object.Id);
}
}
Run Code Online (Sandbox Code Playgroud)
它真的很重要还是更喜欢我工作的编码风格?或者也许是开发人员做出的情境设计时选择?
c# ×2
.net ×1
.net-core ×1
appsettings ×1
asp.net ×1
asp.net-core ×1
grpc ×1
grpc-dotnet ×1
json ×1
jwt ×1
mvvm ×1
oauth-2.0 ×1
razor-pages ×1
security ×1
spring ×1