Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# JSON字符串未反序列化_C#_Json_Deserialization_Prtg - Fatal编程技术网

C# JSON字符串未反序列化

C# JSON字符串未反序列化,c#,json,deserialization,prtg,C#,Json,Deserialization,Prtg,由于重复的属性名value和value\u raw,我在反序列化此JSON数据时遇到问题 我尝试使用基于列表的对象来反序列化值,但这只会导致最后一个值存储在对象中。除此之外,对象将正确解析 JSON字符串: { "prtg-version":"9.2.0.2236", "treesize":576, "values": [{ "datetime":"29/09/2012 09:45:00 - 09:50:00",

由于重复的属性名
value
value\u raw
,我在反序列化此JSON数据时遇到问题

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

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得到的,因此不幸的是,我必须以这种格式使用它:(

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

能否先序列化

            "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"
输入一个字符串列表,然后做进一步的处理后

"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"

如上所示更改
值_原始
可能有助于您定义基于列表的对象?不确定这里的情况是“值”和“值_原始”不能被视为重复的属性名,除非我们缺少信息。你能提供一段你正在做/试图做什么的示例代码吗?因为这是有效的json,它应该反序列化很好。实际上,RFC允许这样做,但建议不要这样做。“对象中的名称应该是唯一的。”也就是说,我认为我从未见过a)这在实践中使用,b)一个JSON库处理它,而不是返回一个值(随机选择)。这可能是OP的问题。