如何将JSON格式summary_data转为字符串并追加至PDF?附问题代码
修正后的代码及问题说明
我来帮你搞定这段代码,先聊聊原代码里的几个明显问题:
- 首先,JSON对象的属性名没加引号,虽然JS宽松模式下允许,但不符合规范,还容易踩坑,得补上双引号;
- 循环里的
str=str.entry."<br>"完全是语法错误,根本没法正确拼接内容; - 还有,jQuery的脚本标签放在代码后面的话,代码执行时jQuery还没加载,会直接报错,得把脚本标签挪到前面。
下面是修正后的完整代码:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script> const summary_data = [ {"Geo": "US West", "MeetingHash": "Hold/Uncategorized", "count": 65}, {"Geo": "NSU", "MeetingHash": "Hold/Uncategorized", "count": 9}, {"Geo": "US East", "MeetingHash": "Hold/Uncategorized", "count": 3} ]; var str = ""; $.each(summary_data, function (key, entry) { // 这里用模板字符串拼接每个条目,格式可以根据你的需求调整 str += `${entry.Geo} - ${entry.MeetingHash}: ${entry.count}<br>`; }); console.log(str); // 之后你就可以把str追加到PDF里了 </script>
关键修改点:
- 给
summary_data里的所有属性名加上双引号,符合JSON语法规范; - 用模板字符串(或者传统的
+拼接)正确取出每个条目的属性值,组合成你需要的文本格式,再追加到str变量里; - 把jQuery的引入脚本放在JS代码前面,确保jQuery加载完成后再执行遍历逻辑。
如果你需要调整每个条目的显示格式,比如改成逗号分隔或者其他样式,直接修改模板字符串里的内容就行~
内容的提问来源于stack exchange,提问作者user3386779
相关产品推荐
相关产品推荐

