Получение этого JSON из API (API метаданных GA4)
{
"dimensions": [
{
....
}
],
"metrics": [
....
{
"apiName": "keyEvents",
"uiName": "Key events",
"description": "The count of key events. Marking an event as a key event affects reports from time of creation. It doesn't change historic data. You can mark any event as key in Google Analytics, and some events (such as `first_open` or `purchase`) are marked as key events by default.",
"deprecatedApiNames": [
"conversions"
],
"type": "TYPE_FLOAT",
"category": "Event"
},
{
"apiName": "newUsers",
"uiName": "New users",
"description": "The number of users who interacted with your site or launched your app for the first time (event triggered: first_open or first_visit).",
"type": "TYPE_INTEGER",
"category": "User"
},
У меня есть функция для возврата uiName из apiName:
Я хочу вернуть uiName там, где соответствует apiName или где оно присутствует в устаревший список.
Но мои навыки Linq с JSON не соответствуют этой задаче. Я подумал, что это будет что-то вроде этого, но
JsonElement не имеет метода ToList().
// param "type" in ["dimensions","metrics"]
private string MemberFriendlyName(JsonDocument metadata, string type, string apiName)
{
string uiName = metadata
.RootElement
.GetProperty(type)
.EnumerateArray()
.Where(me => (
(me.TryGetProperty("apiName", out me) && me.GetString() == apiName)
||
(me.TryGetProperty("deprecatedApiNames", out me) && me.ToList().Contains(apiName))
))
//.Where(me => me.GetPropertyNullable("apiName")?.GetString() == apiName)
.FirstOrDefault()
.GetPropertyNullable("uiName")?.GetString();
return uiName;
}
Подробнее здесь: https://stackoverflow.com/questions/784 ... up-a-value
Борьба с синтаксисом метода LINQ для поиска значения ⇐ C#
Место общения программистов C#
-
Anonymous
1715621123
Anonymous
Получение этого JSON из API (API метаданных GA4)
{
"dimensions": [
{
....
}
],
"metrics": [
....
{
"apiName": "keyEvents",
"uiName": "Key events",
"description": "The count of key events. Marking an event as a key event affects reports from time of creation. It doesn't change historic data. You can mark any event as key in Google Analytics, and some events (such as `first_open` or `purchase`) are marked as key events by default.",
"deprecatedApiNames": [
"conversions"
],
"type": "TYPE_FLOAT",
"category": "Event"
},
{
"apiName": "newUsers",
"uiName": "New users",
"description": "The number of users who interacted with your site or launched your app for the first time (event triggered: first_open or first_visit).",
"type": "TYPE_INTEGER",
"category": "User"
},
У меня есть функция для возврата uiName из apiName:
Я хочу вернуть uiName там, где соответствует apiName или где оно присутствует в устаревший список.
Но мои навыки Linq с JSON не соответствуют этой задаче. Я подумал, что это будет что-то вроде этого, но
JsonElement не имеет метода ToList().
// param "type" in ["dimensions","metrics"]
private string MemberFriendlyName(JsonDocument metadata, string type, string apiName)
{
string uiName = metadata
.RootElement
.GetProperty(type)
.EnumerateArray()
.Where(me => (
(me.TryGetProperty("apiName", out me) && me.GetString() == apiName)
||
(me.TryGetProperty("deprecatedApiNames", out me) && me.ToList().Contains(apiName))
))
//.Where(me => me.GetPropertyNullable("apiName")?.GetString() == apiName)
.FirstOrDefault()
.GetPropertyNullable("uiName")?.GetString();
return uiName;
}
Подробнее здесь: [url]https://stackoverflow.com/questions/78473879/struggling-with-the-linq-method-syntax-to-lookup-a-value[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия