JSON字符串不反序列化

时间:2012-10-01 09:45:33

标签: c# json deserialization prtg

由于重复的属性名称valuevalue_raw,我在解析此JSON数据时遇到问题。

我试图使用基于List的对象来反序列化值,但这只会导致最后一个值存储在对象中。除此之外,对象可以正确解析。

JSON字符串:

{
    "prtg-version":"9.2.0.2236",
    "treesize":576,
    "values":
        [{
            "datetime":"29/09/2012 09:45:00 - 09:50:00",
            "datetime_raw":41181.3680555556,
            "value":"49 %",
            "value_raw":48.5000,
            "value":"0 %",
            "value_raw":0.0000,
            "coverage":"100 %",
            "coverage_raw":"0000010000"
        }]
}  

请注意 - JSON字符串是我从PRTG获得的,所以不幸的是我必须以这种格式使用它:(

3 个答案:

答案 0 :(得分:1)

您无法反序列化,因为您提供的字符串不是有效的JSON。通过RFC,一个对象内的所有属性名称都应该是唯一的。解决这个问题的唯一合理方法 - 重写此字符串来自的代码部分。

答案 1 :(得分:0)

你能先序列化

吗?
            "datetime":"29/09/2012 09:45:00 - 09:50:00",
            "datetime_raw":41181.3680555556,
            "value":"49 %",
            "value_raw":48.5000,
            "value":"0 %",
            "value_raw":0.0000,
            "coverage":"100 %",
            "coverage_raw":"0000010000"

进入一个字符串List然后再做进一步的处理?

答案 2 :(得分:-1)

"datetime"    :"29/09/2012 09:45:00 - 09:50:00",
"datetime_raw":41181.3680555556,
"value"       :["49 %","0 %"]
"value_raw"   :[48.5000,0.0000]            
"coverage"    :"100 %",
"coverage_raw":"0000010000"

如上所示更改valuevalue_raw