【问题标题】:JSON RPC Returns numbers as property namesJSON RPC 返回数字作为属性名称
【发布时间】:2012-04-17 09:58:35
【问题描述】:

我从 oracle 服务器收到了这个 JSON 字符串(一个非常大的字符串的一部分)(数据是不可更改的),但现在我遇到了无法反序列化这个繁琐的问题..

 "rows":[
     {
        "1":"0000000001",
        "2":"SPARE00002",
        "5":"151.3354",
        "13":"100",
        "100000":"000000",
        "100001":"FFFFFF",
        "rowid":"0000000001"
     },

使用 NewtonSoft.JSon 创建类:

public class Row
{
    public string __invalid_name__1 { get; set; }
    public string __invalid_name__2 { get; set; }
    public string __invalid_name__5 { get; set; }
    public string __invalid_name__13 { get; set; }
    public string __invalid_name__100000 { get; set; }
    public string __invalid_name__100001 { get; set; }
    public string rowid { get; set; }
}

在尝试反序列化到类中时,我得到了可怕的错误: 无法计算表达式。

有什么方法可以正确格式化,让 c# 意识到字符串 NAME 与 JSON 字符串发送的属性名称相同?

非常感谢任何帮助!

编辑!找到了解决方案! 通过将 [JsonProperty("1")] ..etc 添加到无效的名称字符串,问题自行解决! 惊人的!

【问题讨论】:

    标签: c# json json-rpc


    【解决方案1】:

    在每个无效的属性名称上,添加属性:[JsonProperty("1")]

    【讨论】:

      猜你喜欢
      • 2016-08-21
      • 2021-10-06
      • 1970-01-01
      • 1970-01-01
      • 2012-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-30
      相关资源
      最近更新 更多