JSON: неизвестные теги в файле JSON

#javascript #json #flutter #dart #tags

#javascript #json #трепетание #дротик #Теги

Вопрос:

В настоящее время я получаю доступ к общедоступному файлу .json сообщества, работая только с HTML, Python, Dart amp; Flutter, у меня практически нет знаний в других языках программирования, и я нашел несколько неоднозначных тегов и ссылочных шаблонов (примеры ниже).

  {
            "desc": "The holder gains @BonusAP@ additional Spell Power.",
            "effects": {
                "AP": 30.0,
                "{d49caf5d}": 50.0
            },
            "from": [
                3,
                3
            ],
            "icon": "ASSETS/Maps/Particles/TFT/TFT_Item_RabadonsDeathcap.dds",
            "id": 33,
            "name": "Rabadon's Deathcap"
        },
 
  {
            "desc": "Grants @CritChance@% Critical Strike Chance (including components). Each point of Critical Strike Chance above 100% becomes  @BonusCritDmgPerCritAbove100@% Critical Strike Damage.<br><br><tftitemrules>[Unique - Only One Per Champion]</tftitemrules>",
            "effects": {
                "AD": 15.0,
                "CritChance": 75.0,
                "{45c7ed6b}": 1.0
            },
            "from": [
                1,
                9
            ],
            "icon": "ASSETS/Maps/Particles/TFT/TFT_Item_InfinityEdge.dds",
            "id": 19,
            "name": "Infinity Edge"
        }
 

TLDR;:

 @SomeString@
<tftitemrules>some string</tftitemrules>,
// under "effects": 
{ 
    ... 
    "{45c7ed6b}": 1.0,
}
 
  1. Я хотел бы знать, какой язык использует такого рода теги / пользовательские теги.
  2. Есть ли какой-нибудь шанс, что "{45c7ed6b}" это относится к чему-то в описании? Если да, пожалуйста, объясните, я ничего не понимаю.
  3. Есть ли какая-нибудь библиотека, Dart которая может облегчить мою работу по использованию этих тегов?

Комментарии:

1. С точки зрения JSON, это просто строковые ключи, как и любые другие. Я подозреваю, что эти свойства сериализуются из какого-то другого формата, и какие-то постоянные имена свойств класса или что-то в этом роде не могли быть преобразованы напрямую. 1 тем не менее, мне любопытно, что также сериализовало это. Возможно, вы могли бы дать более подробную информацию о том, что это за файл?

2. @Brad raw.communitydragon.org/latest/cdragon/tft Это json-файл, содержащий информацию об элементах, используемых в игре под названием Teamfight Tactics, которая связана с хорошо известной League of Legends. В настоящее время мы работаем над приложением, предлагающим игрокам информацию о различных аспектах игры. Пожалуйста, дайте мне знать, если вам нужна дополнительная информация и, пожалуйста, взгляните на URL, которым я только что поделился в комментарии.

3. О, такого рода игры выше моей головы. Я думаю, что самая сложная игра, в которую я могу играть, — это астероиды. 🙂 Все, что я могу предложить, это связаться с людьми, которые это сделали, и спросить их, что указывают эти свойства. Вероятно, существует файл констант, которые они могут предоставить.

Ответ №1:

1 — Это может быть написано на любом языке. Но, учитывая, что это "icon": "ASSETS/Maps/Particles/TFT/TFT_Item_InfinityEdge.dds", часть, это файл directdraw surface, который представляет собой формат OpenGL, и он также может использоваться многими языками, но имеет много примеров с C и C #.

2 — Похоже, что эффекты являются значениями свойств игрового кода, как описано не непосредственно в desc. А тег «{45c7ed6b}» — это ссылка на

Теперь каждый 1% избыточный шанс критического удара преобразуется в 1% дополнительного урона от критического удара

который известен только благодаря знанию намерений разработчика. Либо они помещают имена как временные, либо вводят новую политику компании в отношении именования переменных.

Бесконечный край — элемент TFT

3. Что вы намерены делать, эксплуатируя? Визуализируйте их в приложении Flutter или??

Комментарии:

1. Спасибо за подробный ответ @KemalTarhan . Под расширением я подразумеваю использование этого содержимого json на странице «Элементы», которая похожа на wiki, которая предлагает информацию о каждом элементе. Однако, как вы можете видеть, я не могу просто использовать "desc": значения как есть, учитывая, что есть некоторые специальные теги и ссылки, поэтому я хочу создать класс, который принимает эти ссылки и находит их в "effects": паре ключ-значение, и для этого мне нужно понять каждую ссылку. На данный момент я не могу понять такие ключи, как {45c7ed6b} . Как вы это поняли?

2.Я просмотрел все файлы в необработанных папках community dragon, но не нашел никакой зацепки. Рассматривая свойство effects как эффекты элемента, я сравнил, например, элемент Hush (6) имеет следующие свойства: `»MagicResist»: 25.0, «Mana»: 20.0, «SilenceDuration»: 4.0, «{2275757b}»: 20.0, «{4516a18d}»: 4.0 ` и из Hush- TFT Passive : Basic attacks have a 20% chance to Silence main target for 4 seconds. , который подходит для этих тегов. Лучше обратитесь к cdragon.