GoLang Проблемы с отображением JSON результатов в шаблоне HTML - PullRequest
0 голосов
/ 04 апреля 2020

Контекст :

Вот структура:

type ReverseWhoisResponse struct {
    DomainsCount int      `json:"domainsCount"`
    DomainsList  []string `json:"domainsList"`
}

После выполнения всего, что нужно сделать, это подается через:

c.HTML(200, "example.html", gin.H{
    "total":   ReverseWhoisResponse.DomainsCount,
    "list":    ReverseWhoisResponse.DomainsList,
})

Первая часть отображения raw JSON работает только на

<code><pre>
  <span class="inner-pre">
     {{ .list}}
  </span>

Проблема:

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

<ul>
    {{range .DomainsList }}
        <li>
            <span>{{ .list }}</span>
        </li>
    {{end}}
</ul>

Это потому, что он возвращает список URL

EG

example1.com
example2.com
example3.com

Я пытаюсь разобрать его, чтобы он выглядел достойно на экране, чтобы я мог его использовать.

В данный момент я не получаю никаких ошибок - но я вижу RAW Json на вкладке, но не вижу ничего на вкладке Parsed, какие-либо идеи, что происходит или какую-то документацию я могу следовать за этим?

Ответы [ 2 ]

0 голосов
/ 06 апреля 2020

Можете ли вы поделиться JSON, который вы используете в качестве ввода? Если {{.list}} отображает raw JSON, это означает, что ReverseWhoisResponse.DomainsList содержит raw JSON, что означает, что он не был проанализирован, как вы ожидаете. Предполагая, что ваш второй кодовый блок шаблона является разобранной вкладкой, и он получает те же параметры "total" и "list", что и для необработанного блока JSON, вы уверены, что он будет передан .DomainsList, а не просто {.list}? Кроме того, в функции диапазона вы хотите использовать {{.}} вместо {{.list}}? Отказ от ответственности: у меня нет опыта работы с джином, поэтому я предполагаю некоторые из этих вещей. :)

0 голосов
/ 04 апреля 2020

Проблема была изложена @spencerconnaughton.

Моя проблема заключалась в том, что я неправильно использовал диапазоны.

вместо:

<ul>
    {{range .DomainsList }}
        <li>
            <span>{{ .list }}</span>
        </li>
    {{end}}
</ul>

Это должно было быть:

<ul>
    {{range .list }}
        <li>
            <span>{{ . }}</span>
        </li>
    {{end}}
</ul>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...