【发布时间】:2020-05-20 15:19:48
【问题描述】:
我无法将 c# 对象转换为 json 数组。
public class ChartValue
{
public DateTime Timestamp { get; set; }
public float Value { get; set; }
}
这个对象应该像这样被序列化,例如:
[
"2020-03-03T13:27:45",
52.2
]
我需要坚持这个 json 结构,所以调整是不可能的。 对于 serializian,使用 Newtonsoft.json 类。
使用字符串数组对我来说失败了,因为该值是“52.2”,这是不被接受的。 任何想法如何调整序列化或创建“多类型”数组
感谢您的帮助!
【问题讨论】:
-
你试过
JsonConvert.SerializeObject(new object[] { chartValue.Timestamp, chartValue.Value });吗? -
您可以为
ChartValue使用自定义JsonConverter。如需手动解决方案,请参阅JSON deserialization - Map array indices to properties with JSON.NET。有关使用反射的自动解决方案,请参阅How to deserialize objects containing arrays of values with a fixed schema to strongly typed data classes?。