当前位置: 首页 > 知识库问答 >
问题:

我可以映射一个JSON元素“@somename”吗?[副本]

丘学海
2023-03-14

我的目标是。NET Framework4.7和winforms应用程序。我首先关注本文https://docs.microsoft.com/en-us/dotnet/csharp/tutorials/console-webapiclient,所以我使用的是DataContractJsonSerializer。我正在学习返回JSON的REST接口-

{"Resource":
    {"@attributes":
        {"name":"Asset",
        "resourceId":"Asset",
        "type":"Resource"
        }
    }
}

我使用netwonsoft.json12.0.2将JSON粘贴为类。它忽略“@”字符,并在类“resource”中创建一个成员“attributes”,类型为“attributes”。
当DataContractJsonSerializer试图反序列化JSON时,它跳过@attribute元素,我想是因为它与类名不匹配。

我尝试在资源类的attributes成员上添加[datamember(Name=“@attributes”)],并在attributes类上添加[dataContract(Name=“@attributes”)],但元素似乎仍然被跳过(资源的attributes成员为null)。

共有1个答案

华煜祺
2023-03-14

是,使用JsonProperty

public class MyClass
{
    [JsonProperty("@attributes")]
    public string attributes { get; set; }
}
 类似资料:
  • 我可以在标记中使用元素吗? 在FF中,Opera和Safari很好地打印在屏幕上,但是当我使用检查(或Firebug)时,它找不到a标签的元素洞察。 例如,典型的超文本标记语言: 是错误吗?

  • 问题内容: 这是我从.NET上的请求获取的JSON: 我想使用LINQ来捕获字段“ url”。我有很多要求,有点不同。因此,我不会每次创建C#类并将其反序列化。 它是提取单个字段的一种方法吗?谢谢! 问题答案: 无需Linq,只需使用(使用Json.Net) Linq版本不太可读 文档: LINQ to JSON

  • 问题内容: 同一元素是否可以有多个伪元素? 我正在尝试使用jQuery将上述样式应用于相同的元素,但仅应用了最新样式,从未应用过这两种样式。 问题答案: 在CSS2.1中,一个元素在任何时候最多只能具有任何一种伪元素。(这意味着一个元素可以同时具有a 和一个伪元素- 每种元素不能超过一个。) 结果,当您有多个匹配同一元素的规则时,它们将全部层叠并应用于单个伪元素,就像普通元素一样。在您的示例中,最

  • 我在SCJP6中读到抽象类不能实例化。但在某个地方读到它们可以实例化。是真的吗?我是Java的新手,希望有人能详细解释一下。一个例子也是很好的。

  • 问题内容: 我有一个类似的xml: 我想将元素映射到类MyBean中的属性 有什么办法可以做到吗?我正在使用JDK 1.6随附的jaxb 问题答案: 注意: 我是 EclipseLink JAXB(MOXy)的 负责人,并且是 JAXB(JSR-222) 专家组的成员。 使用任何JAXB(JSR-222)实现 使用任何JAXB(JSR-222)实现,您都可以使用来映射此用例。 ThetaValue

  • 问题内容: 我了解ID在HTML / XHTML页面内必须唯一。 我的问题是,对于给定的元素,我可以为其分配多个ID吗? 我意识到我只需使用一个类就可以轻松解决问题。我只是好奇以这种方式使用id。 问题答案: 否。根据XHTML 1.0规范 在XML中,片段标识符的类型为ID,每个元素只能有一个类型为ID的属性。因此,在XHTML 1.0中,将id属性定义为ID类型。为了确保XHTML 1.0文档