【问题标题】:Deserializing JSON string into string array将 JSON 字符串反序列化为字符串数组
【发布时间】:2017-01-05 15:21:58
【问题描述】:

我在将 json 字符串反序列化为简单的 List 或 string[] 时遇到了麻烦(我不在乎哪个)。

据我所知,这是如何完成这项工作的:

JsonConvert.DeserializeObject<List<string>>(jsonString);

这里我得到了一个 RuntimeBinderException。它抱怨参数,虽然我的 json 字符串有效且简单:a:1:{i:0;s:10:"Sahibinden";}

【问题讨论】:

  • 您的 JSON 无效。将其粘贴到json2csharp.com。如果您还没有给我们完整的字符串,请给我们。
  • 你的 JSON 也不是数组,所以不能反序列化成列表。
  • 我不知道编程语言之间有不同的 json 语法。在这里它工作了:unserialize.com/s/06402092-abe2-3969-82f4-0000513f719e 谢谢大家,我会做一些研究。
  • 编程语言之间存在are not不同的JSON语法。它们之间存在are 不同的序列化语法。序列化对象不是 JSON 对象。

标签: c# json


【解决方案1】:

您拥有的不是 JSON,而是一个序列化的 PHP 对象。在 C# 中有一些工具可以很好地处理这个问题,但没有原生支持。如果您拥有 PHP,则首先将对象/数组转换为 JSON。如果不试试这个问题的信息:https://stackoverflow.com/a/1923626/474702

【讨论】:

    【解决方案2】:

    您的 JSON 无效。问题:

    1. a:1 应该在 {}

    2. 的对象括号内
    3. : { 之前的无效,需要一个 , 有

    4. ;就在 i:0 无效之后,你需要一个逗号

    5. 您在 {} 括号内也重复了 1. 和 2. 中描述的错误

    解决方案:您需要阅读 JSON 并确保您了解其语法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-04
      • 1970-01-01
      • 2016-05-13
      • 1970-01-01
      • 2012-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多