c# - 在.NET 6中使用System.Text.Json.Nodes命名空间时如何获取JsonObject的Json属性名称?

标签 c# json .net-6.0

我有一个简单的 Json 字符串

{
    "property1": "value1",
    "property2": "value1"
}

我使用 System.Text.Json.Nodes 命名空间和以下行解析为 JsonObject

JsonObject obj = JsonNode.Parse(requestBody).AsObject();

如何获取 JsonObject 的属性名称(property1 和 property2)?

如果有替代方案,这会对我有帮助

最佳答案

你可以试试这个

JsonObject obj = JsonNode.Parse(requestBody).AsObject();
string[] propertyNames = obj.Select(p =>p.Key ).ToArray();

结果

["property1","property2"]

   var doc = JsonDocument.Parse(json);

    foreach (var property in doc.RootElement.EnumerateObject())
    {
        Console.WriteLine($"{property.Name} - {property.Value}");
    }

结果

property1 - value1
property2 - value1

或者使用 linq

string[] propertyNames = doc.EnumerateObject().Select(p => p.Name ).ToArray();

关于c# - 在.NET 6中使用System.Text.Json.Nodes命名空间时如何获取JsonObject的Json属性名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73044017/

相关文章:

json.net - Swagger Gen 中的 Force Camel 大小写参数

c# - Braintree Drop-In UI Paypal 集成未加载

c# - 如何调用扩展方法从数组中删除项目

ios - 如何使用 JSON 格式解析通过 AFNetworking 1.0 获得的响应

c# - 如何在 C# 中获取所有枚举值的数组?

java - 在 Json Resteasy 上处理集合(多对多)的递归引用

javascript - 根据值合并两个不同长度的数组对象

c# - ReCaptcha V3 - 验证失败怎么办?

javascript - 具有多个 key 对的 JSON 的适当数据结构

c# where in with list 和 linq