我传出一个ajax get,其中包含一个参数,即添加到db的日期。
Java在数据库中查询此日期添加的人员的结果,并为我构建一个JSON对象:
{
"resultdata" : { "rowsReturned" : "2", "fetchTime" : "180"}
"row_1" : { "name" : "Larry", "sex" : "m", "age" : "26", "location" : "seattle" }
"row_2" : { "name" : "Pedro", "sex" : "m", "age" : "22", "location" : "unknown" }
}
然后我可以将JSON对象作为String返回。然后,我想根据这些结果动态构建一个表。
首先,JSON对象是否适合构建表?
结果数据告诉我有多少行和所用的时间(以毫秒为单位),然后是该特定格式的多行。
然后我想在特定的div元素中创建一个表,一旦这些结果在没有页面刷新等的情况下即时返回到我的浏览器。
所以我希望表标题包含每列的标题 - 然后你猜对了2行。
最好的方法是如何做到这一点。我熟悉jQuery,JSON对我来说是全新的,在jQuery中处理JSON是我热衷于学习的东西。
非常感谢任何帮助。
答案 0 :(得分:1)
您的JSON可以很好地构建表格。
您需要使用$ .getJSON()来获取JSON数据,因为它会自动将JSON解析为对象。如果你需要$ .ajax()的高级功能,你可以从AJAX调用返回的数据上调用$ .parseJSON(),它会将JSON解析为一个对象。
答案 1 :(得分:1)
您可以使用jsonlint来验证您的json。 你的无效。它缺少一些',':
{
"resultdata" : {
"rowsReturned" : "2",
"fetchTime" : "180"
}, // <--
"row_1" : {
"name" : "Larry",
"sex" : "m",
"age" : "26",
"location" : "seattle"
}, // <--
"row_2" : {
"name" : "Pedro",
"sex" : "m",
"age" : "22",
"location" : "unknown"
}
}
我已经做了一点DEMO一种可能的方法,如何使用for-in-loops循环json
for (key in json) {
循环遍历json并将每个键存储在'key'变量中。 在你的情况下'resultdata','row_1','row_2' 因此,要访问每个键的数据,您可以编写json [key],例如转换为json ['row_1']。 现在,您对row_1对象执行相同的操作:
for(key1 in json[key])
key1现在是row_1对象中的键:'name','sex',...
现在你可以写json [key] [key1]来访问数据,例如json ['row_1'] ['name']。
当然,建议给键有意义的名称以避免混淆,如我的例子所示:)