using System.Collections.Generic;
using Newtonsoft.Json.Serialization;
using Cache.Factory.Extensions;
public static void Main()
List<PvData> list = new List<PvData>{new PvData{Id = 1, GirdVoltage = new decimal? []{1, 2, 3}}, new PvData{Id = 2, GirdVoltage = new decimal? []{4, 5, 6}}};
Console.WriteLine(list.ToJson( Formatting.Indented));
public int Id { get; set; }
public string GirdVoltageJson { get; set; }
public decimal? [] GirdVoltage { set => GirdVoltageJson = value.ToJson(); get => GirdVoltageJson.ToEntity<decimal? []>(); }
namespace Cache.Factory.Extensions
public static class JsonExtends
public static T ToEntity<T>(this string val)
return JsonConvert.DeserializeObject<T>(val);
public static string ToJson<T>(this T entity, Formatting formatting = Formatting.None)
return JsonConvert.SerializeObject(entity, formatting);
public static string ToJsonDefault<T>(this T entity, Formatting formatting = Formatting.None)
JsonSerializerSettings settings = new JsonSerializerSettings();
settings.ContractResolver = new DefaultContractResolver();
return JsonConvert.SerializeObject(entity, Formatting.None, settings);