将 JSON 转换为对象失败 - 无法将当前 JSON 对象反序列化为 System.Collections.Generic.List

2024-05-13

我正在使用 www.textlocal.in 的 API,它返回 JSON 格式的对象。

JSON

{  
   "warnings":[  
      {  
         "message":"Number is in DND",
         "numbers":"917000000000"
      }
   ],
   "balance":900,
   "batch_id":311110011,
   "cost":1,
   "num_messages":1,
   "message":{  
      "num_parts":1,
      "sender":"TXTLCL",
      "content":"Test1"
   },
   "receipt_url":"",
   "custom":"",
   "inDND":[  
      "917000000000"
   ],
   "messages":[  
      {  
         "id":"1350123781",
         "recipient":918819437284
      }
   ],
   "status":"success"
}

我尝试解析 JSON 的代码:

private void button1_Click(object sender, EventArgs e)
{
    var a = JsonConvert.DeserializeObject<List<jsonToObj[]>>(richTextBox1.Text);
}

public class jsonToObj
{
    public warnings[] warnings { get; set; }

    public int balance { get; set; }
    public int batch_id { get; set; }
    public int cost { get; set; }
    public int num_messages { get; set; }
    public message message { get; set; }
    public string receipt_url { get; set; }
    public string custom { get; set; }
    public messages[] messages { get; set; }
    public string status { get; set; }
}


public class warnings
{
    public string message { get; set; }
    public string numbers { get; set; }
}

public class messages
{
    public string id { get; set; }
    public int recipient { get; set; }
}

public class message
{
    public int num_part { get; set; }
    public string sender { get; set; }
    public string content { get; set; }
}

我收到异常并显示以下消息:

Newtonsoft.Json.JsonSerializationException:'无法反序列化 当前 JSON 对象(例如 {"name":"value"})转换为类型 'System.Collections.Generic.List`1[WindowsFormsApp1.Form2+jsonToObj[]]' 因为该类型需要一个 JSON 数组(例如 [1,2,3])来反序列化 正确。要修复此错误,请将 JSON 更改为 JSON 数组 (例如 [1,2,3])或更改反序列化类型,使其成为正常类型 .NET 类型(例如,不是像整数这样的原始类型,不是集合 类型(如数组或列表),可以从 JSON 反序列化 目的。也可以将 JsonObjectAttribute 添加到类型中以强制它 从 JSON 对象反序列化。路径“警告”,第 1 行,位置 12.'


首先,您必须弄清楚您的 API 返回什么。

现在你正在尝试解析List of jsonToObj Arrays (List<jsonToObj[]>)。您必须决定是否使用jsonToObj[] or List<jsonToObj>或者一个简单的jsonToObj您的 API 现在提供:

var a = JsonConvert.DeserializeObject<jsonToObj>(richTextBox1.Text);

但这会抛出:

JSON 整数 918819437284 对于 Int32 来说太大或太小。路径“messages[0].recipient”,第 25 行,位置 33。”

所以请确保您使用Long为了那个原因。

public class messages
{
    public string id { get; set; }
    public long recipient { get; set; }
}

此外你can add inDND给你的jsonToObj如果您需要信息,请上课:

public class jsonToObj
{
  ...
  public string[] inDND { get; set; }
  ...
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 JSON 转换为对象失败 - 无法将当前 JSON 对象反序列化为 System.Collections.Generic.List 的相关文章

随机推荐

  • 输出和导出之间的区别

    在 CloudFormation 中 我们能够从模板输出一些值 以便其他进程 堆栈等可以检索它们 这通常是某个名称 可能是 URL 或在堆栈创建 部署 过程中生成的名称等 我们还能够从模板 导出 返回值作为 输出 与 导出 之间有什么区别
  • 指向特定工作表的超链接

    我想从另一个电子表格中的超链接打开 Google 表格的特定工作表 我的主电子表格中有不同的链接 每个链接都应该有一个指向同一从属电子表格但指向不同工作表的超链接 我知道超链接功能 但它不会转到特定的工作表 您可以使用此自定义脚本 工具 g
  • 是否存在比 SVN 更快的集中版本控制?

    我已经使用 SVN 很长时间了 现在我们正在尝试使用 Git 我在这里谈论的不是中心化 去中心化的争论 我唯一关心的是速度 后一个工具要快得多 但有时 我需要使用一种集中式方法 这种方法比分散式方法更简单 更简单 学习曲线非常快 这节省了大
  • 如何防止灯具与 django post_save 信号代码冲突?

    在我的应用程序中 我想在新用户注册时在某些表中创建条目 例如 我想创建一个用户配置文件 然后该配置文件将引用他们的公司和他们的一些其他记录 我用 post save 信号实现了这一点 def callback create profile
  • 在 jquery 中隐藏/显示图像

    如何在单击超链接时显示 隐藏图像 a href Bandwidth a a href Upload a p align center img src media img close pn p
  • 在CDI容器中手动注册类

    我有一组通过反射实例化的类 因此它们不由 CDI 容器管理 并且上下文不会进行任何注入 我的问题是 有没有办法在 CDI 上下文中注册这些类 以便这些类由上下文管理 下面是我创建类的方式 String clazz org myorg thi
  • 使 Django 1.3.1 中的视图缓存过期

    我正在尝试使模型上的视图级缓存过期post save 这是通过设置的https docs djangoproject com en 1 3 topics cache from olddocs the per view cache https
  • amchart 访问结构化数据对象内的值

    如何向 AMchart 中的 json 对象添加额外数据 当我的 obj 很简单时 所有内容都会解析 var data year 1930 italy 4 germany 5 1 uk 3 year 1934 italy 1 germany
  • C++ 输出到文本文件时换行符[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 这只是一个简单的问题 但我正在尝试将
  • PHP preg_replace - www 或 http://

    真正坚持看似简单的事情 我有一个聊天框 喊叫框 其中可能输入任意 URL 我想找到每个单独的 URL 用空格分隔 并将其包装在标签中 例子 Harry you re a http google com http google com wiz
  • 高维最近邻搜索的最佳数据结构

    我实际上正在处理高维数据 50 000 100 000 个特征 并且必须对其执行最近邻搜索 我知道随着维度的增长 KD 树的性能很差 而且我还了解到 一般来说 所有空间分区数据结构都倾向于对高维数据执行详尽的搜索 此外 还有两个重要事实需要
  • 与 Write-Host 相比,Write-Output 的使用非常不可靠

    有人指出一个问题 如果我希望命令按顺序操作 建议使用 Write Output 而不是 Write Host 因为 Write Host 不会将输出放在管道上 而其他命令却这样做 这意味着 Write Host 输出可以发生在管道上的其他命
  • 尝试在 JavaScript 中循环前 50 个偶数斐波那契数时出现错误输出 [重复]

    这个问题在这里已经有答案了 我是 JavaScript 新手 无法让我的代码正常工作 非常感谢任何帮助 指导 当尝试 显示前 50 个偶数斐波那契数的总和 时 我得到错误的输出 当前为 9 715575428267785e 30 我需要 1
  • 如何在pop UIViewController中删除UIParallaxDimmingView?

    我有一个UIViewController vc1这是在之后推送的UIViewController vc2 Both vc1 and vc2具有透明背景 问题 当我尝试弹出时vc2使用交互式弹出手势 从边缘平移 在我看来堆栈显得很神秘UIPa
  • 如何使用 Bower_components 中安装的软件包更新 Bower.json

    如何更新bower json已安装的软件包来自bower components bower init没有将我安装的所有软件包添加到bower json 有些明显缺失 bower list无法在一个包上连接到 github 那么这样做的正确方
  • 向每个 ViewPager 幻灯片添加多个图像和文本

    我有一个带有 3 张幻灯片的 ViewPager 我希望能够在每张幻灯片上添加 3 张图像和几个不同的文本标签 我当前拥有的代码允许我向每张幻灯片添加单个图像 我对如何在每张幻灯片上使用多个图像和文本进行这项工作感到困惑 任何帮助 将不胜感
  • 当结构体包含字符串时为其分配内存

    假设如果我有一个这样的结构 struct node note that i have changed the struct code according to my convenience char lastname char employ
  • 替代 header("Content-type: text/xml");

    是否存在与以下内容等效的内容 header Content type text xml 我将 Google 地图与 Wordpress 一起使用 但收到 标头已发送 错误 我已经检查了所有文件并删除了所有空白 但错误仍然出现 所以只是想知道
  • 我想在 64 位模式下运行我的视觉工作室

    我正在 NET 3 5 中编写 Web 服务 在此我必须访问 SharePoint 2010 数据 但 SharePoint 需要我的应用程序使用 64 位模式 Visual Studio 默认处于 32 位模式 如何以 64 位运行 Vi
  • 将 JSON 转换为对象失败 - 无法将当前 JSON 对象反序列化为 System.Collections.Generic.List

    我正在使用 www textlocal in 的 API 它返回 JSON 格式的对象 JSON warnings message Number is in DND numbers 917000000000 balance 900 batc