用Javascript解析JSON,用HTML/CSS设置样式
Parsing JSON with Javascript and styling with HTML/CSS
我在AS3的世界里已经有一段时间了,以前从未接触过JSON文件,对Javascript也是个新手。
我有一个相当简单的JSON文件,看起来像这样:{"test_name1": {"voteCount":0,"totalAmount":0,"fullyFunded":false},
"test_name2":{"voteCount":0,"totalAmount":0,"fullyFunded":false},
"test_name3":{"voteCount":0,"totalAmount":0,"fullyFunded":false},
"test_name4":{"voteCount":0,"totalAmount":0,"fullyFunded":false},
"test_name5":{"voteCount":0,"totalAmount":0,"fullyFunded":false},
"test_name6":{"voteCount":0,"totalAmount":0,"fullyFunded":false},
"test_name7":{"voteCount":0,"totalAmount":0,"fullyFunded":false},
"test_name8":{"voteCount":0,"totalAmount":0,"fullyFunded":false},
"test_name9":{"voteCount":0,"totalAmount":0,"fullyFunded":false},
"test_name10":{"voteCount":0,"totalAmount":0,"fullyFunded":false}}
我需要阅读这与Javascript,然后用HTML和CSS样式。(我认为?)
我已经通读了教程之类的东西,但我恐怕对其中的一些解释有些茫然。如果有人能示范一下,我会很感激的。我以前在AS3中使用过XML数据,但从未使用过JSON。永远不要JSON+HTML/JS。
请想买。谢谢你。
看起来您可以将此写入定义列表(在HTML中,即<dl>
)。
然后遍历json。下面的代码是在没有任何库的情况下完成的(纯JavaScript,供你学习:)
var dl = document.createElement('dl')
for (var key in json) {
var val = json[key]
var dt = document.createElement('dt')
var ddVote = document.createElement('dd')
var ddAmount= document.createElement('dd')
var ddFunded = document.createElement('dd')
dt.innerHTML = key
ddVote.innerHTML = val.voteCount
ddAmount.innerHTML = val.totalAmount
ddFunded.innerHTML = val.fullyFunded
dl.appendChild(dt)
dl.appendChild(ddVote)
dl.appendChild(ddAmount)
dl.appendChild(ddFunded)
}
你可以用CSS
设置样式<style>
dl { } /* definition list */
dl dt { font-weight: bold; } /* definition term */
dl dd { color: red; } /* definition data */
</style>
根据解析您的JSON。使用JSON.parse
,或者你可能甚至不需要,如果它已经是一个实际的JSON
对象在你的JavaScript文件…
var myJSON = { "hello": "world" }
你可以使用JS渲染JSON文件,HTML和CSS使用"下划线模板"为JS。您既可以将JSON文件作为对象放在JS文件中,也可以使用AJAX请求访问它(听起来好像还没有实现)。"Underscore"是一个Javascript库,它将提供一些有用的迭代器来精确地实现你正在寻找的可视化。
看看如何使用旧金山General Assembly的教程实现下划线模板。我不建议分叉,克隆和主演的repo。
相关文章:
- 如何使用CSS设置所选选项的样式,而不设置所有其他选项的样式
- 使用CSS设置HTML5自动对焦属性
- 使用jQuery/CSS设置的鼠标光标在鼠标移动之前不会更改
- 在jquery中使用css设置背景大小
- 将所有访问过的网站颜色重置为所有最新浏览器和所有doctype(xhtml,html,html5)的默认颜色css设置
- IE11 style.maxHeight未从css设置
- 使用css设置背景的宽度和高度
- slideDown() 在 css 设置为 display:none 时不起作用
- 通过在运行时使用 CSS 设置其高度/宽度来拉伸 img 会产生奇怪的渐变
- 如何调整从其他用户加载的图像的大小,以便保持尺寸,同时使用 css 设置最大宽度和高度?(HTML/JS/CSS)
- 你能用CSS设置一个断开的链接的样式吗?
- 如何使用 CSS 设置表单样式
- 如何直接从 CSS 设置自定义元素的样式
- CSS-设置固定(或绝对)位置时转换宽度中断
- 为什么我们可以't使用css设置画布的宽度和高度
- 如何在jsviews中将css设置为自定义标记(日期选择器)
- 如何在页面加载前使用CSS设置响应滑块的高度
- 使用CSS设置表格样式
- RaphaelJS/CSS-设置文本/数字动画
- 当javascript事件的大小通过css设置时,我如何在其上放大图像