循环遍历数据表中的嵌套 JSON 对象
Looping through a nested JSON object in datatables
我正在寻找遍历 javascript 中的 JSON 对象。现在它正在将每个 "item" 加载到一个单元格中,而不是在一行中每列放置 1 个项目。例如,我想得到:
Period Name Amount
1/1/2014 Accounting 0.00
我得到的是:
Period Name Amount
1/1/2014, Accounting, 0 1/1/2014, Finance, 0 ...,...,...
生成 JSON 对象的视图是:
def BudgetJson(request):
from django.http import JsonResponse
resultset = models.Expense.objects.filter(category_id=1)
d = {'data' : [[[model.expensePeriod, model.expenseName,
model.expenseAmount] for model in resultset]]}
return JsonResponse(d)
我正在使用 datatables
库呈现 table,并使用 AJAX 接收 JSON 对象(通过 URL) :
<script type="text/javascript" class="init">
$(document).ready(function() {
$('#expenses').DataTable( {
"ajax": '{% url "property:budget:budget_json" %}'
});
});
</script>
我知道我的视图正在输出一个 key/item,这就是我得到那个结果的原因 - 我想知道的是,让 JavaScript 循环通过是否更好JSON 对象,是否可以使用 datatables
UI 库?或者我应该更改视图输出的 JSON 对象的结构吗?
你可以这样做,
生产 JSON
对象:
def BudgetJson(request):
from django.http import JsonResponse
out_list = []
resultset = models.Expense.objects.filter(category_id=1)
for model in resultset:
temp_dict = {'expense_period': model.expensePeriod, 'expense_name':model.expenseName, 'expense_amount':model.expenseAmount }
out_list.append(temp_dict)
data = {'data' : out_list }
return HttpResponse(json.dumps(data), content_type='application/json')
在您的 <script>
标签内,datatable
将作为
$('#expenses').DataTable( {
"ajax" : "your-url",
"columns" : [
{"data" : "expense_period"},
{"data" : "expense_name"},
{"data" : "expense_amount"},
]
});
这行得通。 :)
我正在寻找遍历 javascript 中的 JSON 对象。现在它正在将每个 "item" 加载到一个单元格中,而不是在一行中每列放置 1 个项目。例如,我想得到:
Period Name Amount
1/1/2014 Accounting 0.00
我得到的是:
Period Name Amount
1/1/2014, Accounting, 0 1/1/2014, Finance, 0 ...,...,...
生成 JSON 对象的视图是:
def BudgetJson(request):
from django.http import JsonResponse
resultset = models.Expense.objects.filter(category_id=1)
d = {'data' : [[[model.expensePeriod, model.expenseName,
model.expenseAmount] for model in resultset]]}
return JsonResponse(d)
我正在使用 datatables
库呈现 table,并使用 AJAX 接收 JSON 对象(通过 URL) :
<script type="text/javascript" class="init">
$(document).ready(function() {
$('#expenses').DataTable( {
"ajax": '{% url "property:budget:budget_json" %}'
});
});
</script>
我知道我的视图正在输出一个 key/item,这就是我得到那个结果的原因 - 我想知道的是,让 JavaScript 循环通过是否更好JSON 对象,是否可以使用 datatables
UI 库?或者我应该更改视图输出的 JSON 对象的结构吗?
你可以这样做,
生产 JSON
对象:
def BudgetJson(request):
from django.http import JsonResponse
out_list = []
resultset = models.Expense.objects.filter(category_id=1)
for model in resultset:
temp_dict = {'expense_period': model.expensePeriod, 'expense_name':model.expenseName, 'expense_amount':model.expenseAmount }
out_list.append(temp_dict)
data = {'data' : out_list }
return HttpResponse(json.dumps(data), content_type='application/json')
在您的 <script>
标签内,datatable
将作为
$('#expenses').DataTable( {
"ajax" : "your-url",
"columns" : [
{"data" : "expense_period"},
{"data" : "expense_name"},
{"data" : "expense_amount"},
]
});
这行得通。 :)