访问html表中带空格的json对象

Posted

技术标签:

【中文标题】访问html表中带空格的json对象【英文标题】:Accessing json objects with spaces in html table 【发布时间】:2020-01-19 23:40:24 【问题描述】:

抱歉,如果以前有人问过这个问题,但我似乎找不到答案。我是 html/java/django 的超级新手,但我觉得这不应该这么难,而且是一个愚蠢的问题,但我要疯了。我正在制作一个从 firebase 提取 json 数据的 Web 应用程序,所以我使用 python/pyrebase/django 等,我只需要从我的数据库中访问一个 json 对象并将其放入一个 html 表中。这一切都很好,除了访问其中有空格的孩子(不幸的是,我需要为我的移动应用程序保留这些空间)。我认为它在点/括号表示法中是相同的,但这似乎不起作用。我也尝试过声明一个变量 <script> var score = 'JUDGE A RUN 1: '; </script> 并使用 result.score 没有运气,但也许我把它放在错误的位置或一些愚蠢的地方。

<div class="container">

        <h2></h2>
        <p></p>            
        <table class="table table-striped">
          <thead>
            <tr>
                <th>BIB</th>
                <th>Ridername</th> 
                <th>Stance</th>
                <th>Score</th>
            </tr>
          </thead>
          <tbody>
            % for result in data%
            <tr> 
                <td> result.bib </td> <! works! >
                <td> result.ridername </td> <! works! >
                <td> result.stance</td> <! works! >
                <td> result['JUDGE A RUN 1: '] </td> <! doesn't work :( >
            </tr>
            % endfor %
          </tbody>
        </table>
</div>

数据如下:

data = [ 
    
        'JUDGE A RUN 1: ': '10', 
        'JUDGE A RUN 2: ': '11', 
        'JUDGE A RUN 3: ': '13', 
        'JUDGE B RUN 1: ': '13', 
        'JUDGE B RUN 2: ': '14', 
        'JUDGE B RUN 3: ': '15', 
        'bib': '01', 
        'category': 'ProMen', 
        'ridername': 'Test', 
        'score': '-', 
        'stance': 'R'
    , 
    
        'JUDGE A RUN 1: ': '20',
        'bib': '02', 
        'category': 'ProMen', 
        'ridername': 'Tester', 
        'score': '-', 
        'stance': 'G'
    
]

非常感谢您的帮助。

【问题讨论】:

数据中ARUN之间只有一个空格,但result['JUDGE A RUN 1: ']中有5个空格(评论查看器会将它们折叠起来)。 在原始数据中,有 5 个。但我已经尝试了 1 和 5 和 4 实际上有 我想不出任何其他原因导致它不起作用。 只有一个结果具有这些属性,因此您将在其他行上得到空白。 请编辑问题以准确显示数据。 【参考方案1】:

您无法使用常规方法获得它,一种方法是:

% for k, v in data.items %
   % ifequal k "JUDGE A RUN 1: " %
        v 
   % endifequal %
% endfor %

这只是检查是否有任何与JUDGE A RUN 1:匹配的键,然后显示值

【讨论】:

是的!只需将“数据”更改为“结果”就可以了!谢谢!

以上是关于访问html表中带空格的json对象的主要内容,如果未能解决你的问题,请参考以下文章

shell处理json串中带空格

JSON对象数据到html表

如何使用 JSON Utility 读取键中带有连字符的对象?

js中带 其他无关字符的长字符串转标准json对象

js中带 其他无关字符的长字符串转标准json对象

通过 php URL 从 JSON 对象构建 HTML 表