猿问

在 HTML 模板上显示 JSON 结果的 GoLang 问题

上下文:

这是结构:


type ReverseWhoisResponse struct {

    DomainsCount int      `json:"domainsCount"`

    DomainsList  []string `json:"domainsList"`

}

在完成所有需要完成的工作后,通过以下方式提供服务:


c.HTML(200, "example.html", gin.H{

    "total":   ReverseWhoisResponse.DomainsCount,

    "list":    ReverseWhoisResponse.DomainsList,

})

显示原始 JSON 的第一部分仅通过


<pre>

  <span class="inner-pre">

     {{ .list}}

  </span>

</pre>

问题:

但是,现在我也尝试显示一个已解析的字段 - 这样我就可以在一个选项卡中查看原始 JSON,并在另一个选项卡中查看解析结果。这就是我尝试这样做的方式:


<ul>

    {{range .DomainsList }}

        <li>

            <span>{{ .list }}</span>

        </li>

    {{end}}

</ul>

这是因为它返回一个 URL 列表


例如


example1.com

example2.com

example3.com

我正在尝试解析它,使其在屏幕上看起来不错,因此我可以实际使用它。


目前,我没有收到任何错误 - 但我在选项卡中看到了 RAW Json,但在 Parsed 选项卡中没有看到任何内容,有什么想法或者我可以遵循的一些文档吗?


ibeautiful
浏览 160回答 2
2回答

慕工程0101907

您可以分享您用作输入的 JSON 吗?如果{{.list}}显示原始 JSON,则表明它ReverseWhoisResponse.DomainsList包含原始 JSON,这表明它没有按照您的预期进行解析。假设您的第二个模板代码块是已解析的选项卡,并且接收与原始 JSON 块相同的“total”和“list”参数,您确定它会被传递.DomainsList而不只是传递{.list}吗?另外,在 range 函数中,您的意思是使用{{.}}而不是{{.list}}?&nbsp;免责声明:我对杜松子酒没有经验,所以我猜测其中的一些东西。:)

慕田峪9158850

我的问题是我在滥用范围。代替:<ul>&nbsp; &nbsp; {{range .DomainsList }}&nbsp; &nbsp; &nbsp; &nbsp; <li>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>{{ .list }}</span>&nbsp; &nbsp; &nbsp; &nbsp; </li>&nbsp; &nbsp; {{end}}</ul>它应该是:<ul>&nbsp; &nbsp; {{range .list }}&nbsp; &nbsp; &nbsp; &nbsp; <li>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>{{ . }}</span>&nbsp; &nbsp; &nbsp; &nbsp; </li>&nbsp; &nbsp; {{end}}</ul>
随时随地看视频慕课网APP

相关分类

Go
我要回答