
Дмитрий
17.06.2017
13:46:45
хотя я бы советовал вариант с десериализацией в строго типизированный объект

Konstantin
17.06.2017
13:47:29
foreach (var forecast in weather["forecast"])
{
textView2.Text = forecast["time"].ToString();
}
так ?
пытаюсь запилить приложение в андроид ))

Google

Влад
17.06.2017
13:49:58
Я - пздц) Написать 6к строк бота лень не было, а написать максимум 100 строк инструкции стало большой проблемой. ?

Konstantin
17.06.2017
13:49:59
ошибка просто появляется

Zymlex
17.06.2017
13:50:10

Konstantin
17.06.2017
13:50:36
вот такая вылазит ошибка если делать как я выше написал
System.InvalidOperationException: Cannot access child value on Newtonsoft.Json.Linq.JProperty.

Дмитрий
17.06.2017
13:50:52

Konstantin
17.06.2017
13:51:20
http://shot.hsdn.org/4NBnNgqO

Дмитрий
17.06.2017
13:51:59

Влад
17.06.2017
13:52:16
На VS под андроид? Что за либа?

Andrew
17.06.2017
13:53:55

Влад
17.06.2017
13:54:23
Оййй, забыл о нём. ?

Konstantin
17.06.2017
13:55:46
xamarin
ща по гуглю чо такое JProperty
я с php пришел в C#

Google

Konstantin
17.06.2017
13:57:52
мне тяжело воспиринимать этот синтаксис строго типизированный

Vyacheslav
17.06.2017
13:58:30

Konstantin
17.06.2017
13:58:55
аська тоже есть)

Anton
17.06.2017
13:59:17

Vyacheslav
17.06.2017
13:59:49
??

Ilia
17.06.2017
14:00:25

Zymlex
17.06.2017
14:03:14

Kirill
17.06.2017
14:07:13
не, ну бывают случаи, когда надо разнотиповые данные хранить в одной коллекции
из недавнего - делали логгирование, нужно было сформировать все поля, которые будут записываться в БД (там log4net через ADO.NET), в один массив и отдать это логгеру
так как типы полей разные и нам нельзя их терять, всё это собирается в один IList<object>

Friedrich
17.06.2017
14:13:12

Zymlex
17.06.2017
14:16:10

Kirill
17.06.2017
14:17:00
это уже log4net делает, но я думаю, что там для ограниченного набора типов идут проверки (через is/as), а для остального делается .ToString()
а может, не log4net, а ADO.NET, но короче кто-то из этих ребят

Friedrich
17.06.2017
14:19:20
Для более оптимального метода вроде string.Format предлагали делать перегрузки типа
static string Format<T1, T2, T3, T4>(string format, T1 o1, T2 o2, T3 o3, T4 o4)
Так можно будет делать вызов без упаковки/распаковки.

Zymlex
17.06.2017
14:19:22

Nikolay
17.06.2017
14:28:02

Konstantin
17.06.2017
14:29:43
да я вот и спрашивал как правильно делать

Nikolay
17.06.2017
14:30:03
http://shot.hsdn.org/e7pntrhJ
Сделай C# класс с такими же полями, которые у тебя указаны в JSON, а затем просто вызови
JsonConvert.DeserializeObject<ClassName>(jsonString);
Вроде синтаксис такой, точно не помню

Google

Konstantin
17.06.2017
14:30:32
а ньютонсофт не упрощает это всё ?

Nikolay
17.06.2017
14:31:06
У тебя реально php way решения задачи :)

Konstantin
17.06.2017
14:32:12
это я еще ксамарин выбрал ))) я пытался еще делать на яве ))

Nikolay
17.06.2017
14:32:14
В C# ты создаёшь тип, а затем преобразовываешь Json в этот тип, это называется десериализация
Вот пример: http://www.newtonsoft.com/json/help/html/deserializeobject.htm

Konstantin
17.06.2017
14:32:52
ксамарин как то мне приятнее оказался, ява слишком специфичная

Friedrich
17.06.2017
14:33:14
Для forecast на забудьте задать тип Dictionary<string, ForecastInfo>

Konstantin
17.06.2017
14:34:18
http://shot.hsdn.org/e7pntrhJ

Nikolay
17.06.2017
14:34:50
Фридриха слушай, Фридрих херни не скажет

Sergey
17.06.2017
14:58:48
Друзья, проблема при возвращении Json в aspnetcore. Если я возвращаю массив строк то все уходит прекрасно, а если массив объектов, то уходит массив с одним объектом
А так нет

Роман
17.06.2017
15:13:02
выглядит хорошо, у тебя точно в массиве больше одной группы?

Sergey
17.06.2017
15:13:41
да
На клиенте смотрю строкой
там при варианте с первой картинкой массив из трех строк

Google

Sergey
17.06.2017
15:14:12
а во втором варианте массив из 1 объекта
вообще не понимаю логики
кинуть код с клиента?

Роман
17.06.2017
15:19:18
не, сначала нужно понять что сервер возвращает, чтобы понять где проблема. Можешь получить данные как жсон? скажем через постман

Sergey
17.06.2017
15:23:52
так если селектить имена
а если не селектить чет не получается
Блять ну что за мистика

Admin
ERROR: S client not available

Sergey
17.06.2017
15:45:29
Update:
теперь ищу человека, который расскажет мне почему так
ибо очень обидненько вышло

Again
17.06.2017
15:55:07
я решил проблему
я винду к херам снес
все переустановил
и была та же проблема

Google

Again
17.06.2017
15:55:43
Потом на 2141241 вкладке в гугле нашел решение.
Нужно было просто поставить 1 ебучую галочку
пздц

Artem
17.06.2017
16:01:00
Скорей всего там у тебя кольцевая структура поэтому нельзя сериализовать

Sergey
17.06.2017
16:04:59
Вроде понял, спасибо
ну да, у меня там связи и все такое

Artem
17.06.2017
16:06:50
Ну и вообще лучше всегда возвращать специальную модель. Так поменяв что-то в базе, у клиентов не поменяется

Konstantin
17.06.2017
16:37:40
не понимаю нифига (
дайте пожалуйста посмотреть как вывести на экран списком
http://shot.hsdn.org/tJvEdEXp
сериализация десериализация
значения key_1497715200 - динамические и каждый раз разные. поэтому я не могу указать строго - типа так forecast["key_1497715200"]

Александр
17.06.2017
16:48:07
Поитерируйся по значениям словаря
c# dictionary get values list

Konstantin
17.06.2017
16:50:18
но тут опять прописывают статичные названия вручную

Александр
17.06.2017
16:50:33
https://stackoverflow.com/questions/141088/what-is-the-best-way-to-iterate-over-a-dictionary-in-c
Скорее такое

Konstantin
17.06.2017
17:02:43
спасибо
действительно наглядно написано. теперь я понял что это от балды берется название

Александр
17.06.2017
17:36:39
почему от балды?
timestamp же, не?

Егор
17.06.2017
17:42:10
Уважаемые
Эта группа больше не существует