gpt4 book ai didi

C# WebAPI 解析带有额外大括号的 Json 数据

转载 作者:行者123 更新时间:2023-11-30 21:35:28 29 4
gpt4 key购买 nike

这可能是一种非常罕见的情况,但我最终遇到了一个问题并且没有找到任何解决方案。

我有一个使用 C# 中的 MVC WebAPI 编写的 WebAPI Controller 。我有一个接收自定义对象的 post 方法。

[HttpPost]
public HttpResponseMessage SendEmail([FromBody]Email email)
{

}

下面是Email类,注意EmailData是dynamic类型。

public class Email
{
public string EmailTo { get; set; }

public dynamic EmailData { get; set; }
}

当我将 JSON 有效负载作为帖子发送时,EmailData 属性会在对象中添加额外的大括号“{}”。这给我带来了一个问题,因为我的动态数据无法解析带有额外花括号“{}”的 JSON

{
"EmailFrom": "abc.xyz@abc.com",
"EmailData": {
"FirstName": "Rushi",
"LastName": "Joshi"}
}

如果这是因为 dynamic 类型而发生的,那么我不想更改类型,因为我不确定所有键/值请求者可能会发送什么。我正在使用 dynamic 数据从中提取数据。

这显示正在解析 EmailData 并添加了额外的花括号。

enter image description here

最佳答案

使用Dictionary对象而不是dynamic,它会绑定(bind)你的键值对数据,

    public class Email
{
public string EmailTo { get; set; }

public Dictionary<string,string> EmailData { get; set; }
}

你的 json 将是,

{
"EmailTo": "abc.xyz@abc.com",
"EmailData": {
"FirstName": "Rushi",
"LastName": "Joshi"}
}

关于C# WebAPI 解析带有额外大括号的 Json 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49195609/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com