парсинг json со случайными объектами

  • Автор темы Автор темы trecho
  • Дата начала Дата начала

trecho

Client
Регистрация
12.07.2018
Сообщения
171
Реакции
124
Баллы
43
JSON:
Развернуть Свернуть Копировать
{
   "vh34us":{
      "DisplayName":"aaaaa",
      "Value":"111111",
   },
   "viurkes":{
      "DisplayName":"bbbbb",
      "Value":"2222222",
   },
   "buir8i":{
      "DisplayName":"cccccc",
      "Value":"333333",
   }
}

имена объектов случайные
а мне нужно вот такой список получить

aaaaa:111111
bbbbb:2222222
cccccc:333333
 
C#:
Развернуть Свернуть Копировать
foreach(string el in project.Json.GetMembersList())
    project.SendInfoToLog(project.Json.GetMember(el).DisplayName+":"+project.Json.GetMember(el).Value);
 
  • Оценить
Реакции: djaga и trecho
Последнее редактирование:
Там только выпадают после project.Json
Свойства конкретного Джейсона (именно вашего или моего, или ещё чьего то) они динамические и потому в подсказках вы их не увидите. Но это не значит что их там нет...
 
еще вопрос - как найти значение одного свойства через значение другого?
JSON:
Развернуть Свернуть Копировать
[   {
      "name":"tmr_detect",
      "sameSite":"Unspecified",
      "value":"0%7C1623072264534",
   },
   {
      "name":"id",
      "sameSite":"Unspecified",
      "value":"162307226172591854",
   },
]
вот такой json, мне надо получить значение value объекта, у которого name - tmr_detect
 
C#:
Развернуть Свернуть Копировать
foreach(string el in project.Json.GetMembersList())
    if(project.Json.GetMember(el).name.Equals("tmr_detect"))
        project.SendInfoToLog(project.Json.GetMember(el).value);
конкретно по указанному примеру будет так, но сути это не меняет)
C#:
Развернуть Свернуть Копировать
for(int i = 0; i<project.Json.Count;i++)
    if(project.Json[i].name.Equals("tmr_detect"))
        project.SendInfoToLog(project.Json[i].value);
 
Последнее редактирование:
  • Оценить
Реакции: trecho и BAZAg
C#:
Развернуть Свернуть Копировать
foreach(string el in project.Json.GetMembersList())
    if(project.Json.GetMember(el).name.Equals("tmr_detect"))
        project.SendInfoToLog(project.Json.GetMember(el).value);
конкретно по указанному примеру будет так, но сути это не меняет)
C#:
Развернуть Свернуть Копировать
for(int i = 0; i<project.Json.Count;i++)
    if(project.Json[i].name.Equals("tmr_detect"))
        project.SendInfoToLog(project.Json[i].value);
СУПЕР!
 
C#:
Развернуть Свернуть Копировать
foreach(string el in project.Json.GetMembersList())
    if(project.Json.GetMember(el).name.Equals("tmr_detect"))
        project.SendInfoToLog(project.Json.GetMember(el).value);
конкретно по указанному примеру будет так, но сути это не меняет)
C#:
Развернуть Свернуть Копировать
for(int i = 0; i<project.Json.Count;i++)
    if(project.Json[i].name.Equals("tmr_detect"))
        project.SendInfoToLog(project.Json[i].value);
Столкнулся с ситуацией где такой код выдает ошибку
Выполнение действия CSharp OwnCode: XSRFTOKEN. Невозможно применить индексирование через [] к выражению типа "ZennoLab.JXParser.JsonDynamic"

{
"LoadMore":false,
"items":[
{
"Sku":"Pathfinder",
"BoxId":"a1adb469fa4b4f95adcf9801e7e9e906",
},
{
"Sku":"Roundabout",
"BoxId":"1fc3ff9ab7854feb9e0c2f17c9393661",
}
],
"Pagination":{
"Date":"2020-08-05 13:03:32",
"DocId":"3565c399f4584d7e97295cbf271c8a56"
}
}
Помогите найти значение BoxId объекта, у которого Sku - Pathfinder
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)