2013-08-06 61 views
1

,我有以下數據作爲JSON:JSON數據在asp.net應用程序讀取客戶端

"Table":[ 
{ 
"AF":2000.00 
"RegionNumber":1 
"RegionName":"Black Sea" 
}, 
{ 
"AF":100.00 
"RegionNumber":1 
"RegionName":"Black Sea" 
}, 
{ 
"AF":15000.00 
"RegionNumber":2 
"RegionName":"Istanbul" 
}, 
{ 
"AF":31000.00 
"RegionNumber":1 
"RegionName":"Black Sea" 
}, 
{ 
"AF":11000.00 
"RegionNumber":2 
"RegionName":"Istanbul" 
} 
] 

我想在Javascript以下格式排列數據。

series: [{ 
    name: 'Black Sea', 
    data: [2000, 100, 31000], 
    stack: 'Bookings' 
}, { 
    name: 'Istanbul', 
    data: [15000,11000,0], 
    stack: 'Bookings' 
}] 

我該如何完成這個轉換?

回答

0

在純JavaScript:

var memo = {} 
for (var i in table) { 
    var item = table[i]; 
    if (memo[item.RegionName] !== undefined) memo[item.RegionName].data.push(item.AF); 
    else memo[item.RegionName] = { 
     name: item.RegionName, 
     data: [item.AF], 
     stack: 'Bookings' 
    } 
} 

var result = { 
    series: [] 
}; 

for (var i in memo) { 
    result.series.push(memo[i]); 
} 

console.log(result); 
+0

hi sza ..我正在將數據..如何將這些結果包含在Heighchat系列中 – Chintu

0

我傳遞的自定義對象的數組到列表中的Web方法和它工作得很好。

我在猜測由於屬性名稱周圍的引號引起的小JSON格式問題。試着改變你的對象是:

var scoresList = [{TraitID:1, TraitScore:2}, {TraitID:2, TraitScore:5}]; 

和數據線改成這樣:

data: JSON.stringify({ scores : scoresList }),  

希望幫助...

UPDATE:工作示例...

<script type="text/javascript"> 
$(function() { 

    var scoresList = [{ TraitID: 1, TraitScore: 2 }, { TraitID: 2, TraitScore: 5}]; 

    $.ajax({ type: "POST", 
     url: "Tryouts.aspx/Test", 
     data: JSON.stringify({ scores: scoresList }), 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function (response) { 
      if (response.d == true) { 
       alert("success!!!!!"); 
      } else { 
       alert("problem!!!!!!!!!"); 
      } 
     }, 
     error: function (xhr) { 
      alert("ERROR"); 
     } 
    }); 

}); 
</script> 

下面是代碼隱藏:

public class Score 
{ // default constructor  
    public Score() { } 
    public int TraitID { get; set; } 
    public double TraitScore { get; set; } 
} 

[WebMethod] 
public static bool Test(List<Score> scores) 
{ 
    return true; 
} 
相關問題