修改JSON并在Kendo UI Grid中显示

时间:2015-04-30 00:24:12

标签: javascript json kendo-grid

鉴于此JSON:

{
"Header": {
    "NewNetworkServiceProvider": "NewNetworkServiceProvidera9ae97fe-e59a-4678-91ea-5a03c7d0f5cc",
    "PurchaseOrderNumber": "PurchaseOrderNumberdf932a47-1476-4a78-a9d0-de538ed8306b",
    "ConfirmedVersionString": "ConfirmedVersionString12e9d37c-f8dd-4251-bc55-7c83732b5629"
    }
}

}

我想把它变成:

[
  { "label": "NewNetworkerviceProvider", "value": "NewNetworkServiceProvider87cc6600-49c5-46fa-9fe7-d6f614645edb"},
  { "label": "PurchaseOrderNumber", "value": "PurchaseOrderNumber85475a1e-f22d-46f0-b437-9528b7564ab1" },
  { "label": "ConfirmedVersionString", "value": "VersionString2fa72562-dec5-4edd-9ba3-e2e2c563acb6" }
];

然后我可以在Kendo UI Grid中创建一个数据源。

我只需按正确的方向将数据转换为我需要的格式,或者是否有移动高级方法来应用模式模板,该模板将以我需要的方式动态显示数据。

目前使用该测试数据我可以在网格中显示它并且它很棒。

1 个答案:

答案 0 :(得分:0)

您可以迭代属性并使用hasOwnProperty

var json = {
"Header": {
    "NewNetworkServiceProvider": "NewNetworkServiceProvidera9ae97fe-e59a-    4678-91ea-5a03c7d0f5cc",
    "PurchaseOrderNumber": "PurchaseOrderNumberdf932a47-1476-4a78-a9d0-    de538ed8306b",
    "ConfirmedVersionString": "ConfirmedVersionString12e9d37c-f8dd-4251-bc55-7c83732b5629"
    }
}

var result = []

for (var property in json.Header)
{
    if (json.Header.hasOwnProperty(property)) {
                var obj = {label:"",value:""}
                obj.label = property ; 
                obj.value = json.Header[property];
                result.push(obj);
            }
}

您可以使用JSON.stringify

对js对象进行字符串化