如何将数据库值附加到JSON数据

时间:2013-03-11 10:26:07

标签: javascript json

我有一个JSON,列出了数据库中的值。下面是数据库中2行的JSON数据。

[{"Name":"P1","Description":"pd1","Value":"v1","Attribute":"a1"},{"Name":"P1","Description":"pd1","Value":"v2","Attribute":"a2"}]

数据库值是左连接查询的结果。只有“值”和“属性”字段不同。我可以将该字段附加到JSON而不是多组记录吗?我知道有“推”这样做,但我不知道在我的代码中何处以及如何使用它。下面是从db获取值并序列化值的代码。

GetProfileDataService GetProfileDataService = new BokingEngine.MasterDataService.GetProfileDataService();
IEnumerable<ProfileData> ProfileDetails = GetProfileDataService.GetList(new ProfileSearchCriteria { Name = strProfileName });
JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();
string strSerProfileDetails = javaScriptSerializer.Serialize(ProfileDetails);
context.Response.ContentType = "text/json";
context.Response.Write(strSerProfileDetails);

以下是我的getJSON

$(document).ready(function () {
    $.getJSON('ProfileHandler.ashx', { 'ProfileName': 'Profile 1' }, function (data) {
        $.each(data, function (k, v) {
            alert(v.Attribute+' : '+v.Value);               
        });            
    });
});

请在这里帮助我。

1 个答案:

答案 0 :(得分:0)

你可以做几件事。

将值和属性存储为数组:

[{"Name":"P1","Description":"pd1","Value":["v1", "v2"],"Attribute":["a1", "a2"]}]

或将它们存储为“符号”分隔的字符串:

[{"Name":"P1","Description":"pd1","Value":"v1;v2"],"Attribute":"a1;a2"]}]

为了使用第一种情况,你必须尝试弄清楚如何格式化ProfileDetails以使javaScriptSerializer.Serialize正确解析它。您可能必须先转换数据才能使其正常工作(即将属性转换为数组)。

对于第二种情况,您可以修改GetProfileDataService.GetList方法,以便将值和属性合并为符号分隔的字符串(如下所示:GROUP BY to combine/concat a column