想通了。我不得不實現一個定製的JsonConverter。正如其他人所說,這不會產生有效/標準的Json。
public class ObjectCollectionConverter : JsonConverter
{
public override bool CanConvert(Type objectType)
{
return objectType == typeof(object[]);
}
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
throw new NotImplementedException();
}
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
object[] collection = (object[])value;
writer.WriteStartArray();
foreach (var item in collection)
{
if (item == null)
{
writer.WriteRawValue(""); // This procudes "nothing"
}
else
{
writer.WriteValue(item);
}
}
writer.WriteEndArray();
}
}
使用方法如下
Test t = new Test();
string json = JsonConvert.SerializeObject(t, new ObjectCollectionConverter());
沒有,因爲'{ 「數據」:1 ,, 「一」]}'是不是一個有效的JSON。 –
你爲什麼要這麼做?結果是無效的JSON。如果您是生成JSON的庫的作者,是否會包含一個選項,使您的庫無法正確工作? – Jon
這不是有效的JSON - 你爲什麼要這樣看? – Cubic