Size: a a a

var chat = new Chat();

2020 February 11

vl

vova lantsov in var chat = new Chat();
Примерно так, с памяти писал
источник

LU

Lars Ulrich in var chat = new Chat();
vova lantsov
Не помню точно, либо JArray, либо JsonArray
JArray. Но лучше уж просто List<object>
источник

LU

Lars Ulrich in var chat = new Chat();
vova lantsov
ну как работать, легко же

foreach (var jsonToken in list)
{
 if (jsonToken.Type == JsonTokenType.Boolean)
 {
   bool value = jsonToken.Value<bool>();
 }
 else if (...)
}
та понятно, что эту кашу можно причесать, но там с десяток каналов, и для каждого свою расческу колхозить
источник

vl

vova lantsov in var chat = new Chat();
Lars Ulrich
та понятно, что эту кашу можно причесать, но там с десяток каналов, и для каждого свою расческу колхозить
Ну а ты что хотел с такими входными данными?
источник

LU

Lars Ulrich in var chat = new Chat();
vova lantsov
Ну а ты что хотел с такими входными данными?
магии)
источник

vl

vova lantsov in var chat = new Chat();
List<object> == List<JToken> в данном случае
источник

vl

vova lantsov in var chat = new Chat();
Там внутри токены будут
источник

vl

vova lantsov in var chat = new Chat();
Если хочешь прям динамический объект то

List<ExpandoObject>

С этим можно работать через dynamic
источник

LU

Lars Ulrich in var chat = new Chat();
vova lantsov
Если хочешь прям динамический объект то

List<ExpandoObject>

С этим можно работать через dynamic
боже збав))
источник

vl

vova lantsov in var chat = new Chat();
Lars Ulrich
боже збав))
Ну а лучше тут не придумаешь, либо одно либо другое)
источник

LU

Lars Ulrich in var chat = new Chat();
vova lantsov
Если хочешь прям динамический объект то

List<ExpandoObject>

С этим можно работать через dynamic
The value "False" is not of type "System.Dynamic.ExpandoObject" and cannot be used in this generic collection. '
источник

LU

Lars Ulrich in var chat = new Chat();
ну то такое
источник

vl

vova lantsov in var chat = new Chat();
Странно, неужели оно только на верхнем уровне умеет
источник

vl

vova lantsov in var chat = new Chat();
DeserializeObject<ExpandoObject>
источник

vl

vova lantsov in var chat = new Chat();
vova lantsov
List<object> == List<JToken> в данном случае
Ну тогда вот)
источник

vl

vova lantsov in var chat = new Chat();
Либо кастомный конвертер, но он будет работать по той же схеме
источник

LU

Lars Ulrich in var chat = new Chat();
vova lantsov
Либо кастомный конвертер, но он будет работать по той же схеме
нашел я кастом конвертер, который работает по атрибутам. Забирает по индексу из атрибута пропертю и пытается рефлексией установить значение
источник

LU

Lars Ulrich in var chat = new Chat();
прикольно, но в моем случае он падает на 1-м индексе. если в массиве оставить только 0-й и 2-й, то бишь бул и стринг, все отлично. Доколхозил к этому конвертеру дженерик (если падает, то пытается объект по дженерику десериализовать), пока будет так
источник

NK

ID:0 in var chat = new Chat();
Release candidate Microsoft Orleans 3.1
источник

NK

ID:0 in var chat = new Chat();
источник