小编ski*_*ppy的帖子

反序列化动态 JSON

我遇到的问题是如何反序列化以下 JSON。Answer 的值有时是 NULL、true、整数、布尔值或包含另一个 JSON 列表(id、描述等)。

我做的第一步是在 Visual Studio 中将 special 作为类复制和粘贴。这为我提供了以下问题类。

然后我尝试反序列化它(遵循 C# - 其中 rawResponse 是 JSON)。但是,我得到“Newtonsoft.Json.JsonSerializationException: 'Cannot deserialize the current JSON array (eg [1,2,3]) into type Applicated.Questions 因为该类型需要一个 JSON 对象(例如 {"name":"value "}) 正确反序列化......“

我知道这与它没有正确映射有关。

因此,尝试通过将响应保存在动态变量中来将所有这些都放在 foreach 循环中(注意,我确实为此从 Questions 类中删除了 Property1)。但是,Answer 中的某些结果将字符串 Id、Description 等存储在 Answer 字段中。有没有更简单的方法来做到这一点,我似乎已经达到了心理障碍?

JSON:

[
  {
    "Answer": true,
    "QuestionId": 55,
    "Title": "Are you Married?",
    "AnswerType": "Boolean"
  },
  {
    "Answer": {
      "Id": "1",
      "Description": "Female",
      "Reference": "F",
      "ArchiveDate": null,
      "ParentId": null,
      "OptionType": {
        "Id": 40,
        "Type": …
Run Code Online (Sandbox Code Playgroud)

c# json deserialization

3
推荐指数
1
解决办法
210
查看次数

标签 统计

c# ×1

deserialization ×1

json ×1