问题
I am trying to deserialize a field:
"presenters":[{...},{...}]
but some of the rows come back with only:
"presenters":""
When the serializer gets to the row with that empty string I get:
Error converting value "" to type 'System.Collections.Generic.List`1[DataPrototype.Model.Presenter]'.
Am I right in thinking that I need a JsonConverter that will change the empty string into an empty List?
回答1:
Yes.
Inside the JsonConverter test the token type from the JsonReader.
If it is a string then return null.
If it is the start of an array then use the JsonReader and JsonSerializer passed to the converter method to deserialize the array.
来源:https://stackoverflow.com/questions/4572732/deserialize-json-sometimes-value-is-an-array-sometimes-blank-string