【发布时间】:2022-05-16 16:45:40
【问题描述】:
我们有来自 3rd 方系统的数据,我有一个这样设计的课程,
public class CollectionProperty
{
public string Name { get; set; }
public object Value { get; set; }
}
我的 VS 调试器说这样的值,它为我提供了数据类型的额外细节以及结果,
现在,当我使用 Newtonsoft 对其进行序列化时,
var x = JsonConvert.SerializeObject(resultPacket);
它给出的输出只有值类型而不是值。
我需要带双引号的字符串值,不带双引号的数字值,怎么办?
[{"Name":"设备 ID","Value":{"ValueKind":3}}]},{"Name":"CPU0","CollectionProperties":[ {"Name":"CPU 负载百分比","Value":{"ValueKind":4}}]}]
【问题讨论】:
-
不要使用对象作为属性类型。请改用您期望的类型,在本例中为
int。您发布的是 JSON,而不是整数。由于您明确写了您不希望解析该有效负载,因此反序列化器返回了输入包含的内容,即 JToken
标签: c# serialization