gpt4 book ai didi

jquery - 在 jquery 数据表中显示嵌套的 JSON 数据

转载 作者:行者123 更新时间:2023-12-01 02:53:45 25 4
gpt4 key购买 nike

使用 AJAX 发出 POST 请求后,我收到以下 JSON 响应:

    {
"ServiceName": "ABC",
"Response": {
"Object": [
{
"Attributes": {
"Attribute": [
{
"AttributeName": "Name",
"AttributeValue": "XYZ"
},
{
"AttributeName": "Place",
"AttributeValue": "Abc"
},
{
"AttributeName": "Country",
"AttributeValue": "Americas"
},
{
"AttributeName": "Code",
"AttributeValue": "576"
}
]
}
},
{
"Attributes": {
"Attribute": [
{
"AttributeName": "Name",
"AttributeValue": "XYZHJ"
},
{
"AttributeName": "Place",
"AttributeValue": "Abchgh"
},
{
"AttributeName": "Country",
"AttributeValue": "India"
},
{
"AttributeName": "Code",
"AttributeValue": "536"
}
]
}
}
]
}}

我正在使用数据表来显示数据..但是使用这个嵌套的 JSON 我无法直接获取数据。我正在使用这个https://datatables.net/examples/server_side/post.html https://datatables.net/reference/option/ajax.dataSrc供引用。

最佳答案

您必须迭代响应并将其转换为数据表可以理解的格式。当我阅读示例数据时,您有一个 Object 持有 Attributes block ,持有一个 Attribute ,其中键 => 值对为 AttributeName => 属性值。因此,在 dataSrc 回调中解析响应:

var table = $("#example").DataTable({
ajax : {
url : 'nestedData.json',
dataSrc : function(json) {
var temp, item, data = [];
for (var i=0;i<json.Response.Object.length;i++) {
temp = json.Response.Object[i].Attributes.Attribute;
item = {};
for (var elem in temp) {
item[temp[elem].AttributeName] = temp[elem].AttributeValue
}
data.push(item);
}
return data
}
},
columns : [
{ data : 'Name', title : 'Name' },
{ data : 'Place', title : 'Place' },
{ data : 'Country', title : 'Country' },
{ data : 'Code', title : 'Code' }
]
})

dataSrc 回调返回表单上的对象数组:

data = [
{ Code: "576", Country: "Americas", Name: "XYZ", Place: "Abc" },
{ Code: "536", Country: "India", Name: "XYZHJ", Place: "Abchgh" }
]

关于jquery - 在 jquery 数据表中显示嵌套的 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32750154/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com