如何从JsonElement中获取属性[已关闭]

eanckbw9  于 2023-05-08  发布在  其他
关注(0)|答案(1)|浏览(139)

**关闭。**此题需要debugging details。目前不接受答复。

编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将帮助其他人回答这个问题。
5天前关闭。
Improve this question
我从我的数据中得到这样的东西:

ValueKind = Array : "[{"LookupId":370,"LookupValue":"Rahim, Zillur","Email":"ZRahim@ecgmc.com"}]"

VS说它是一个JsonElement,但我不明白如何使用JsonElement。TryGetProperty方法

if (JsonElement.TryGetProperty("Email", out value))
{
    string email = value.GetString();
}

给出错误。
任何人都可以帮助我从显示值的变量X中获取语法

ValueKind = Array : "[{"LookupId":370,"LookupValue":"Rahim, Zillur","Email":"ZRahim@ecgmc.com"}]"

如何获取电子邮件属性?

wlwcrazw

wlwcrazw1#

根据提供的信息,您的json元素似乎是一个数组,因此您需要将其作为一个数组处理。例如:

var js = """
        [{"LookupId":370,"LookupValue":"Rahim, Zillur","Email":"ZRahim@ecgmc.com"}]
        """;
using var jsonDocument = JsonDocument.Parse(js);
var jsonElement = jsonDocument.RootElement;

var emails = jsonElement.EnumerateArray()
    .Select(element =>
    {
        if (element.TryGetProperty("Email", out var value))
        {
            return (Ok: true, value);
        }

        return (Ok: false, value);
    })
    .Where(t => t.Ok)
    .Select(t => t.value);

相关问题